Saltearse al contenido

OpenAI

El componente OpenAI permite a los usuarios de Nappai generar texto con los modelos de OpenAI directamente desde su dashboard. Con él puedes elegir el modelo, ajustar la creatividad del texto, recibir respuestas en formato JSON, procesar múltiples registros a la vez y mucho más, todo sin escribir código.

¿Cómo funciona?

Cuando configuras el componente, Nappai hace una llamada a la API de OpenAI (o a cualquier endpoint compatible) para obtener la lista de modelos disponibles. Esa lista se muestra en el campo Model Name. Luego, cuando el flujo se ejecuta, el componente envía la entrada (el prompt) al modelo seleccionado y devuelve la respuesta. Si habilitas JSON Mode o proporcionas un esquema, la respuesta se formatea automáticamente como JSON. También puedes activar Stream para recibir la respuesta en tiempo real, lo que es útil en chats o interfaces interactivas.

Entradas

Modo de Mapeo (Mapping Mode)

Este componente cuenta con un modo especial llamado “Mapping Mode” (Modo de Mapeo). Cuando activas este modo mediante el interruptor, se habilita una entrada adicional llamada “Mapping Data” y cada campo de entrada te ofrece tres formas diferentes de proporcionar datos:

  • Fixed (Fijo): Escribes el valor directamente en el campo.
  • Mapped (Mapeado): Conectas la salida de otro componente para usar su resultado como valor.
  • Javascript: Escribes código Javascript para calcular el valor dinámicamente.

Esta flexibilidad te permite crear flujos de trabajo más dinámicos y conectados.

Campos de Entrada

  • Custom Model Name: El nombre del modelo personalizado que se usará. Si se deja vacío, se usará el modelo seleccionado en el dropdown.
  • Input: El texto o prompt que quieres enviar al modelo.
  • JSON Mode: Si es True, la respuesta se devolverá en formato JSON, independientemente de si se pasa un esquema.
  • Mapping Mode: Activa el modo de mapeo para procesar varios registros en lote.
  • Max Tokens: Máximo número de tokens que el modelo puede generar. 0 significa ilimitado.
  • Model Kwargs: Parámetros adicionales que se pasan al modelo (por ejemplo, stop, presence_penalty, etc.).
  • Model Name: Selecciona el modelo de la lista desplegable que se obtuvo de la API de OpenAI.
  • OpenAI API Base: La URL base de la API de OpenAI. Puedes cambiarla para usar otros servicios compatibles como JinaChat, LocalAI o Prem.
  • Schema: Esquema JSON que define la estructura de la respuesta. Si se deja vacío, se desactiva el modo JSON.
  • Seed: Semilla que controla la reproducibilidad de la generación.
  • Stream: Si está activado, la respuesta se enviará en tiempo real (solo funciona en modo chat).
  • System Message: Mensaje de sistema que se pasa al modelo para guiar su comportamiento.
  • Temperature: Controla la creatividad del modelo. Valores más altos generan respuestas más variadas.

Nota sobre credenciales
Este componente necesita una credencial de tipo OpenAI API.

  1. Ve a la sección de credenciales de Nappai y crea una credencial llamada, por ejemplo, OpenAI API.
  2. Ingresa tu OpenAI Api Key (es una contraseña).
  3. En el componente, selecciona esa credencial en el campo Credential.
    Los campos de la credencial (como la clave) no aparecen en la lista de entradas.

Salidas

  • Text: Mensaje de texto generado por el modelo (tipo Message, método text_response).
  • Model: Objeto LanguageModel que representa el modelo configurado (método build_model).
    Esta salida permite usar el mismo modelo en otros componentes o guardarlo para reutilización.

Ejemplo de Uso

  1. Configura la credencial:

    • En la sección de credenciales, crea una credencial OpenAI API con tu clave.
    • En el componente, selecciona esa credencial.
  2. Elige el modelo:

    • Haz clic en el dropdown Model Name y selecciona, por ejemplo, gpt-4o-mini.
  3. Define el prompt:

    • En el campo Input, escribe:
      Escribe una breve descripción de la empresa XYZ en 50 palabras.
  4. Activa JSON Mode (opcional):

    • Marca JSON Mode y define un esquema en Schema:
      {
      "description": "string"
      }
  5. Ejecuta el flujo:

    • La salida Text mostrará la descripción generada.
    • Si activaste JSON Mode, la respuesta será un objeto JSON con la clave description.
  6. Procesa múltiples registros (opcional):

    • Activa Mapping Mode y conecta una lista de prompts a la entrada Input.
    • El componente generará una respuesta por cada registro.

Componentes Relacionados

  • ChatOpenAI: Base de la implementación que se usa internamente.
  • Text Generation: Otro componente que también genera texto, pero sin la capacidad de streaming ni JSON.
  • Mapping Data: Componente que facilita la entrada de datos en modo mapeo.

Consejos y Mejores Prácticas

  • Usa JSON Mode cuando necesites que la respuesta siga una estructura específica; facilita la extracción de datos.
  • Ajusta la temperatura: valores bajos (0.1–0.3) generan respuestas más coherentes, mientras que valores altos (0.7–1.0) son más creativos.
  • Limita los tokens si quieres controlar el coste; max_tokens también ayuda a evitar respuestas demasiado largas.
  • Activa Stream en flujos de chat para mejorar la experiencia del usuario con respuestas en tiempo real.
  • Utiliza Mapping Mode para procesar listas de prompts sin crear flujos separados.

Consideraciones de Seguridad

  • La clave de OpenAI se almacena de forma segura en la credencial; no aparece en la configuración del componente.
  • Si usas un endpoint alternativo (por ejemplo, LocalAI), asegúrate de que el servidor esté protegido y que la comunicación sea segura (HTTPS).
  • Evita exponer la salida Text en logs públicos si contiene información sensible.