Concevoir des systèmes agentiques avec LangChain
Dilini K. Sumanapala, PhD
Founder & AI Engineer, Genverv, Ltd.



# 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]
# 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"])]}

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

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

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

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

Concevoir des systèmes agentiques avec LangChain