Describe el problema/error/pregunta
Quizás me estoy perdiendo algo obvio, pero estoy intentando agregar una Herramienta de Solicitud HTTP a mi Agente.
Mi prueba correctamente hace que el LLM invoque la Herramienta, pero incluso con la herramienta configurada para devolver un archivo, el nodo devuelve la salida que se muestra a continuación. Esperaba el binario del PDF. Lo interesante es que el nodo HTTP Request node, para la misma URL, devuelve el binario como se esperaba, ya que la URL apunta a un PDF.
¿Qué podría estar haciendo mal? La idea era tener un conjunto de herramientas que permita a mi agente razonar sobre URLs, obtener el recurso (html, archivo, etc.) y luego escribir el binario en Google Cloud Storage.
Comparte la salida devuelta por el último nodo
1 item[
{
"action":"sendMessage",
"sessionId":"9f1axxxxxxxxx",
"chatInput":"https://arxiv.org/pdf/2608.02569",
"URL":"https://arxiv.org/pdf/2608.02569",
"toolCallId":"call_TptExEnexxxxxxxxxxx"
}]
Información sobre tu configuración n8n
- versión n8n: Cloud 2.32.1
¡Hola @datanerdery3! ¡Bienvenido!
Mantén el binario fuera del agente. Reemplaza la Herramienta de Solicitud HTTP con una Herramienta de Llamar Flujo de Trabajo de n8n. El agente pasa una URL, el subflujo realiza la descarga y carga con nodos reales, y solo un recibo JSON corto regresa al modelo
Hola @datanerdery3
El nodo AI Agent no puede procesar flujos binarios sin procesar porque las herramientas adjuntas a los LLM están diseñadas para pasar contexto de cadena de texto al modelo, lo que causa que los datos binarios de la Herramienta de Solicitud HTTP se descarten o se conviertan en metadatos de invocación de herramientas.
Para descargar un PDF y escribirlo en Google Cloud Storage (GCS) a través de un Agent, el agent solo debe gestionar flujo de control y URLs, mientras que un subflujo de trabajo o herramienta maneja el flujo binario directamente en memoria/almacenamiento y devuelve metadatos al LLM.
Gracias por la retroalimentación. Estaba pensando en n8n como el orquestador que controla cómo se llaman los nodos, o en este caso, cómo se gestiona el contexto dentro del estado de la ejecución. No estaba pensando en que el agente tuviera que hacer nada con el archivo binario más allá de saber que está disponible dentro de la sesión y poder indicarle a n8n cómo manejar el binario con otra herramienta. @Hammad_gaming Estaba pensando en este enfoque, así que gracias por recomendarlo. Simplemente no estaba seguro de si esto era “excesivo”, pero ahora entiendo que este es el patrón. Gracias.