Saltearse al contenido

XML 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.

¿Cómo funciona?

El XML Agent es un puente entre tu modelo de lenguaje (LLM) y las herramientas que has configurado en Nappai. Cuando le haces una pregunta al agente, éste envía la consulta al LLM con un prompt predefinido que incluye instrucciones sobre cómo usar las herramientas en formato XML. El LLM responde con bloques <tool>, <tool_input> y <observation>, que el agente interpreta y ejecuta. Una vez que el agente ha terminado de usar las herramientas, devuelve la respuesta final dentro de un bloque <final_answer>.

El proceso se resume en:

  1. Entrada: El usuario escribe una pregunta en el campo Input.
  2. Prompt: El agente construye un mensaje que incluye la lista de herramientas disponibles y la pregunta.
  3. LLM: El modelo genera una respuesta en XML, indicando qué herramienta usar y con qué parámetros.
  4. Ejecución: El agente llama a la herramienta indicada, recibe la observación y la vuelve a enviar al LLM.
  5. Resultado: Cuando el LLM devuelve un <final_answer>, el agente entrega esa respuesta al usuario.

No se necesita ninguna configuración externa; el agente se comunica directamente con el LLM que hayas seleccionado.

Entradas

CampoDescripción
ModelSelecciona el modelo de lenguaje que se usará (por ejemplo, GPT‑4, Llama‑2, etc.).
ToolsLista de herramientas que el agente puede usar. Cada herramienta debe estar previamente configurada en Nappai.
Disable StreamingSi se activa, el LLM no enviará la respuesta en tiempo real; se mostrará solo al final.
Handle Parse ErrorsDetermina si el agente debe intentar corregir errores de formato XML en la respuesta del LLM.
InputTexto de la pregunta o solicitud que el usuario quiere que el agente responda.
Max IterationsNúmero máximo de ciclos de interacción entre el agente y el LLM antes de detenerse.
PromptTexto base que el agente usa para construir la conversación con el LLM. Puedes personalizarlo si lo deseas.
VerboseSi se activa, el agente mostrará mensajes de depuración y observaciones intermedias.

Salidas

CampoTipo de datoUso
AgentAgentExecutorObjeto que representa al agente construido; se puede usar en flujos posteriores para ejecutar tareas.
ResponseMessageMensaje final que contiene la respuesta del LLM dentro de <final_answer>. Se puede mostrar al usuario o pasar a otro componente.

Ejemplo de Uso

Supongamos que quieres que el agente busque el clima actual en Madrid usando una herramienta de búsqueda web.

  1. Configura el componente

    • Model: GPT‑4
    • Tools: search (herramienta de búsqueda web)
    • Input: ¿Cuál es el clima actual en Madrid?
    • Prompt: (dejar el valor por defecto)
    • Max Iterations: 3
    • Verbose: desactivado
  2. Ejecuta el flujo

    • El agente enviará al LLM la pregunta y la lista de herramientas.
    • El LLM responderá con algo como:
      <tool>search</tool><tool_input>clima actual Madrid</tool_input>
      <observation>El clima en Madrid es 18°C y nublado.</observation>
      <final_answer>El clima en Madrid es 18°C y nublado.</final_answer>
    • El componente devuelve el mensaje final en la salida Response.
  3. Mostrar la respuesta

    • Conecta la salida Response a un componente de visualización de texto para que el usuario vea la respuesta final.

Componentes Relacionados

  • LCToolsAgentComponent – Base sobre la que se construye el XML Agent.
  • LangChain – Biblioteca que facilita la creación de agentes y la integración con modelos de lenguaje.
  • BaseToolkit / BaseTool – Tipos de herramientas que puedes añadir al agente.

Consejos y Mejores Prácticas

  • Mantén las herramientas actualizadas: Asegúrate de que las herramientas que el agente puede usar estén funcionando correctamente y tengan permisos adecuados.
  • Limita el número de iteraciones: Establece un valor razonable en Max Iterations para evitar bucles infinitos.
  • Revisa el prompt: Si necesitas respuestas más específicas, personaliza el prompt añadiendo instrucciones adicionales.
  • Activa Verbose solo cuando sea necesario: El modo detallado puede generar mucha salida y ralentizar el flujo.

Consideraciones de Seguridad

  • Control de herramientas: Solo permite que el agente use herramientas que estén aprobadas y que no expongan datos sensibles sin protección.
  • Validación de entrada: Evita que usuarios malintencionados introduzcan comandos que puedan ejecutar acciones no deseadas.
  • Monitoreo de observaciones: Revisa las observaciones que el agente devuelve para detectar posibles filtraciones de información.