Saltearse al contenido

OpenAI Tools Agent

⚠️ ADVERTENCIA DE DEPRECACIÓN

Este componente está deprecado y será eliminado en una versión futura de Nappai. Por favor, migra a los componentes alternativos recomendados.

El OpenAI Tools Agent permite a los usuarios crear un asistente inteligente que puede usar herramientas externas (por ejemplo, APIs, bases de datos, etc.) para responder a las preguntas o tareas que le planteen. El agente combina un modelo de lenguaje de OpenAI con una lista de herramientas que puede invocar de forma automática, todo dentro del dashboard de Nappai.

¿Cómo funciona?

El componente construye un prompt que incluye:

  1. Un mensaje de sistema que define el comportamiento general del agente.
  2. La historia de chat previa (si se proporciona) para mantener el contexto.
  3. Un mensaje del usuario que debe contener la clave input.
  4. Un espacio reservado para que el agente genere instrucciones intermedias (scratchpad).

Con este prompt, el componente crea un agente de LangChain que:

  • Envía la solicitud al modelo de OpenAI especificado.
  • Analiza la respuesta y decide si necesita llamar a alguna herramienta.
  • Ejecuta la herramienta y vuelve a enviar el resultado al modelo.
  • Repite el proceso hasta que el modelo indique que la tarea está completa o se alcance el número máximo de iteraciones.

Todo el flujo se ejecuta de forma asíncrona y se registra en el sistema de logs de Nappai para que el usuario pueda revisar el proceso.

Entradas

Campos de Entrada

  • Chat History: Lista de mensajes anteriores que el agente puede usar para contextualizar la conversación.
  • Model: Modelo de lenguaje que el agente utilizará para generar respuestas.
  • Tools: Conjunto de herramientas que el agente puede invocar para realizar tareas específicas.
  • Disable Streaming: Desactiva la transmisión de respuestas en tiempo real.
  • Handle Parse Errors: Controla cómo se manejan los errores de análisis de la respuesta.
  • Input: Entrada principal que el usuario desea procesar.
  • Max Iterations: Número máximo de ciclos que el agente puede ejecutar antes de detenerse.
  • System Prompt: Mensaje inicial que guía el comportamiento del agente.
  • Prompt: Plantilla de mensaje que el agente enviará al modelo, debe incluir la clave input.
  • Verbose: Activa la salida detallada de logs para depuración.

Salidas

  • Agent: Ejecutor de agente que contiene la lógica y las herramientas configuradas.
  • Response: Mensaje generado por el agente en respuesta a la entrada.

Ejemplo de Uso

Supongamos que quieres que el agente te informe el clima en una ciudad específica.

  1. Model: Selecciona gpt-4.
  2. Tools: Añade una herramienta llamada WeatherTool que consulta una API de clima.
  3. System Prompt: You are a helpful assistant that can provide weather information.
  4. Prompt: What is the weather in {input}?
  5. Input: New York
  6. Ejecuta el componente.

El agente enviará la pregunta al modelo, recibirá la respuesta, detectará que necesita la herramienta WeatherTool, la ejecutará, y finalmente devolverá un mensaje con la información del clima en Nueva York.

Componentes Relacionados

  • OpenAI Agent – Versión más reciente del agente que reemplaza a este componente legacy.
  • LangChain Agent – Base de la arquitectura de agentes que permite la integración de herramientas.
  • Tool – Elemento que define una acción externa que el agente puede invocar.

Consejos y Mejores Prácticas

  • Actualiza a la nueva versión: Dado que este componente está deprecado, considera migrar a OpenAI Agent para aprovechar mejoras y soporte futuro.
  • Limita el número de iteraciones: Establece Max Iterations razonable para evitar bucles infinitos.
  • Revisa la historia de chat: Mantén la historia relevante y corta para que el modelo no se confunda.
  • Activa Verbose solo cuando necesites depurar: El modo detallado puede generar logs extensos.

Consideraciones de Seguridad

  • Control de acceso a herramientas: Asegúrate de que solo las herramientas autorizadas estén disponibles para el agente.
  • Validación de entrada: Verifica que el Input no contenga datos sensibles que no deban ser enviados al modelo.
  • Gestión de errores: Configura Handle Parse Errors para evitar que errores inesperados expongan información interna.