Ajout d’outils externes à un chatbot

Concevoir des systèmes agentiques avec LangChain

Dilini K. Sumanapala, PhD

Founder & AI Engineer, Genverv, Ltd.

Outils externes avec LangGraph

  Écran d’ordinateur avec une puce et « API » au centre.

     

  • Outils API pour chatbots

     
    • Actualités
    • Bases de données
    • Réseaux sociaux
    • Etc.
Concevoir des systèmes agentiques avec LangChain

Ajout d’un outil Wikipedia

Personnes lisant, assises sur de grands livres.

  Icône Wikipedia.

Concevoir des systèmes agentiques avec LangChain

Ajout d’un outil Wikipedia

# Modules pour créer un outil Wikipedia
from langchain_community.utilities import WikipediaAPIWrapper
from langchain_community.tools import WikipediaQueryRun


# Initialiser le wrapper Wikipedia pour récupérer 1 résultat api_wrapper = WikipediaAPIWrapper(top_k_results=1)
# Créer un outil de requête Wikipedia avec le wrapper wikipedia_tool = WikipediaQueryRun(api_wrapper=api_wrapper)
tools = [wikipedia_tool]
Concevoir des systèmes agentiques avec LangChain

Ajout d’un outil Wikipedia

# Lier l’outil Wikipedia 
# au modèle de langue
llm_with_tools = llm.bind_tools(tools)


# Modifier la fonction chatbot pour # répondre avec Wikipedia def chatbot(state: State): return {"messages": [llm_with_tools.invoke( state["messages"])]}

   

  • Lier les outils

 

  • Mettre à jour le nœud chatbot

  • Activer Wikipedia

  • Le LLM décide des appels d’outils

Concevoir des systèmes agentiques avec LangChain

Autres outils API

  Écran d’ordinateur avec une puce et « API » au centre.

   

Concevoir des systèmes agentiques avec LangChain

Ajout de nœuds d’outils

# Modules pour ajouter des conditions 
# et des nœuds d’outils
from langgraph.prebuilt import 
ToolNode, tools_condition


# Ajouter le nœud chatbot au graphe graph_builder.add_node("chatbot", chatbot)

Nœud chatbot.

Concevoir des systèmes agentiques avec LangChain

Ajout de nœuds d’outils

# Modules pour ajouter des conditions 
# et des nœuds d’outils
from langgraph.prebuilt import 
ToolNode, tools_condition

# Ajouter le nœud chatbot au graphe
graph_builder.add_node("chatbot",
                       chatbot)


# Créer un ToolNode pour gérer les appels d’outils # et l’ajouter au graphe tool_node = ToolNode(tools=[wikipedia_tool]) graph_builder.add_node("tools", tool_node)

Nœuds chatbot et outil.

Concevoir des systèmes agentiques avec LangChain

Ajout de nœuds d’outils

# Définir une condition pour diriger du chatbot 
# vers l’outil ou le nœud de fin
graph_builder.add_conditional_edges(
             "chatbot", tools_condition)



Chatbot avec nœuds END et outil, reliés par des lignes en pointillés (arêtes conditionnelles).

Concevoir des systèmes agentiques avec LangChain

Ajout de nœuds d’outils

# Définir une condition pour diriger du chatbot 
# vers l’outil ou le nœud de fin
graph_builder.add_conditional_edges(
             "chatbot", tools_condition)



# Relier les outils au chatbot et # ajouter les nœuds START et END graph_builder.add_edge("tools", "chatbot") graph_builder.add_edge(START, "chatbot") graph_builder.add_edge("chatbot", END)

Diagramme complet : nœud chatbot relié aux outils et à END, avec START en haut.

Concevoir des systèmes agentiques avec LangChain

Passons à la pratique !

Concevoir des systèmes agentiques avec LangChain

Preparing Video For Download...