1. Apprendre
  2. /
  3. Cours
  4. /
  5. Concevoir des systèmes agentiques avec LangChain

Connected

Exercice

Créer une fonction qui retourne une réponse de LLM

Votre agent de clavardage dispose maintenant de plusieurs outils. Il reste néanmoins utile d'invoquer le LLM seul lorsqu'une question n'est liée à aucun des outils ajoutés à l'agent. Vous allez définir une fonction qui vérifie si le dernier message de la conversation contient des appels d'outil potentiels. S'il n'y en a pas, l'agent utilisera simplement le LLM pour renvoyer une réponse. Pour pouvoir gérer à la fois les requêtes de l'utilisateur et les réponses de l'agent, les modules suivants ont été importés pour traiter différents types de messages.

from langchain_core.messages import AIMessage, HumanMessage

Instructions

100 XP
  • Accédez au dernier message depuis state à l'aide de "messages".
  • Écrivez une condition pour vérifier si last_message est un AIMessage et si ce message contient aussi des tool_calls.
  • Si la condition est remplie, retournez le premier "response" de tool_calls extrait de last_message dans le champ content de AIMessage.
  • Si la condition n'est pas remplie, appliquez .invoke() à model_with_tools pour générer une réponse, en passant l'historique complet de la conversation depuis state["messages"].