Ajouter des outils externes à un chatbot

Concevoir des systèmes agentiques avec LangChain

Dilini K. Sumanapala, PhD

Founder & AI Engineer, Genverv, Ltd.

Outils externes avec LangGraph

  Moniteur de bureau avec une puce au centre et « API » au milieu.

     

  • Outils d'API pour chatbots

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

Ajouter un outil Wikipedia

Personnes qui lisent, assises sur de grands livres.

  Icône de Wikipedia.

Concevoir des systèmes agentiques avec LangChain

Ajouter un outil Wikipedia

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


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

Ajouter un outil Wikipedia

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


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

   

  • Lier des outils

 

  • Mettre à jour le nœud chatbot

  • Activer Wikipedia

  • Le LLM décide des appels d'outil

Concevoir des systèmes agentiques avec LangChain

Autres outils d'API

  Moniteur de bureau avec une puce au centre et « API » au milieu.

   

Concevoir des systèmes agentiques avec LangChain

Ajouter des nœuds d'outil

# Modules pour ajouter des conditions 
# et des nœuds d'outil
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

Ajouter des nœuds d'outil

# Modules pour ajouter des conditions 
# et des nœuds d'outil
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'outil # 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

Ajouter des nœuds d'outil

# 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 les nœuds END et outil, reliés par des pointillés représentant des arêtes conditionnelles.

Concevoir des systèmes agentiques avec LangChain

Ajouter des nœuds d'outil

# 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)



# Reconnecter 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)

Schéma complet : nœud chatbot relié aux outils et au nœud END, avec le nœud START en haut.

Concevoir des systèmes agentiques avec LangChain

Passons à la pratique !

Concevoir des systèmes agentiques avec LangChain

Preparing Video For Download...