Ferramenta de Requisição HTTP não retorna dados binários

Descreva o problema/erro/pergunta

Talvez eu esteja ignorando algo óbvio, mas estou tentando adicionar uma Ferramenta de Requisição HTTP ao meu Agente.

Meu teste está funcionando corretamente com o LLM invocando a Ferramenta, mas mesmo com a ferramenta configurada para retornar um arquivo, o nó retorna a saída mostrada abaixo. Eu esperava o binário do PDF. O que é interessante é que o nó HTTP Request node, para a mesma URL, retorna o binário conforme esperado, já que a URL aponta para um PDF.

O que posso estar fazendo errado? A ideia era ter um conjunto de ferramentas que permitisse ao meu agente raciocinar sobre URLs, OBTER o recurso (html, arquivo, etc.) e então escrever o binário no Google Cloud Storage.

Compartilhe a saída retornada pelo último nó

1 item[

{

"action":"sendMessage",

"sessionId":"9f1axxxxxxxxx",

"chatInput":"https://arxiv.org/pdf/2608.02569",

"URL":"https://arxiv.org/pdf/2608.02569",

"toolCallId":"call_TptExEnexxxxxxxxxxx"

}]

Informações sobre sua configuração n8n

  • versão n8n: Cloud 2.32.1

Oi @datanerdery3 Bem-vindo!

mantém o binário fora do agente. Troca a HTTP Request Tool por uma Call n8n Workflow Tool. O agente passa uma URL, o sub-fluxo faz o download e upload com nós reais, e apenas um recibo JSON curto volta para o modelo

Oi @datanerdery3

O nó AI Agent não consegue processar fluxos binários brutos porque as ferramentas anexadas aos LLMs são projetadas para passar o contexto de string de texto de volta ao modelo, o que faz com que os dados binários da Ferramenta de Requisição HTTP sejam descartados ou convertidos em metadados de invocação de ferramenta.

Para fazer o download de um PDF e gravá-lo no Google Cloud Storage (GCS) por meio de um Agent, o agent deve gerenciar apenas fluxo de controle e URLs, enquanto um sub-fluxo de trabalho ou ferramenta lida com o fluxo binário diretamente na memória/armazenamento e retorna metadados para o LLM.

Obrigado pelo feedback. Eu estava pensando em n8n como o orquestrador que controla como os nós são chamados, ou neste caso, como o contexto é gerenciado dentro do estado da execução. Não estava pensando em o agente ter que fazer qualquer coisa com o arquivo binário além de saber que está disponível dentro da sessão e pode informar ao n8n como lidar com o binário usando outra ferramenta. @Hammad_gaming Eu estava pensando nessa abordagem, então obrigado por recomendá-la. Eu simplesmente não tinha certeza se isso era “excessivo”, mas agora entendo isso como o padrão. Obrigado.

Bem-vindo @datanerdery3