Décrivez le problème/l’erreur/la question
Peut-être que je passe à côté de quelque chose d’évident, mais j’essaie d’ajouter un outil de requête HTTP à mon Agent.
Mon test confirme correctement que le LLM invoque l’outil, mais même avec l’outil configuré pour retourner un fichier, le nœud retourne la sortie affichée ci-dessous. J’attendais le binaire du PDF. Ce qui est intéressant, c’est que le nœud de requête HTTP node, pour la même URL, retourne le binaire comme prévu, car l’URL pointe vers un PDF.
Que pourrais-je faire de mal ? L’idée était d’avoir un ensemble d’outils qui permet à mon agent de raisonner sur les URL, de GET la ressource (html, fichier, etc.) et ensuite d’écrire le binaire dans Google Cloud Storage.
Partagez la sortie retournée par le dernier nœud
1 item[
{
"action":"sendMessage",
"sessionId":"9f1axxxxxxxxx",
"chatInput":"https://arxiv.org/pdf/2608.02569",
"URL":"https://arxiv.org/pdf/2608.02569",
"toolCallId":"call_TptExEnexxxxxxxxxxx"
}]
Informations sur votre configuration n8n
- Version n8n : Cloud 2.32.1
Salut @datanerdery3 Bienvenue !
garder le binaire hors de l’agent. Remplacer l’outil HTTP Request par un outil Call n8n Workflow. L’agent transmet une URL, le sous-workflow effectue le téléchargement et l’envoi avec des nœuds réels, et seul un court reçu JSON est renvoyé au modèle
Bonjour @datanerdery3
Le nœud AI Agent ne peut pas traiter les flux binaires bruts car les outils attachés aux LLM sont conçus pour transmettre le contexte de chaîne de texte au modèle, ce qui entraîne la suppression ou la conversion des données binaires de l’outil HTTP Request en métadonnées d’invocation d’outil.
Pour télécharger un PDF et l’écrire dans Google Cloud Storage (GCS) via un Agent, l’agent ne devrait gérer que le flux de contrôle et les URL, tandis qu’un sous-flux de travail ou un outil gère le flux binaire directement en mémoire/stockage et retourne les métadonnées au LLM.
Merci pour vos retours. Je pensais à n8n comme l’orchestrateur qui contrôle la façon dont les nœuds sont appelés, ou dans ce cas, comment le contexte est géré dans l’état de l’exécution. Je ne pensais pas que l’agent devait faire quoi que ce soit avec le fichier binaire, sinon savoir qu’il est disponible dans la session et pouvoir dire à n8n comment gérer le binaire avec un autre outil. @Hammad_gaming Je pensais à cette approche, donc merci de l’avoir recommandée. Je n’étais simplement pas sûr si c’était « excessif », mais je comprends maintenant que c’est le modèle à suivre. Merci.