Construire un outil Wikipédia
L'administration de l'école est très satisfaite de votre travail ! Ils aimeraient rendre le chatbot encore plus performant en y intégrant des ressources externes. Vous proposez d'équiper le chatbot d'un accès à Wikipédia. L'administration accepte de prolonger votre commission, vous décidez donc de créer un outil pour le chatbot en utilisant l'API de Wikipédia.
Les modules suivants ont été importés pour vous permettre de démarrer : WikipediaQueryRun
, WikipediaAPIWrapper
Cet exercice fait partie du cours
Concevoir des systèmes agentiques avec LangChain
Instructions
- Créez un site
api_wrapper
qui initialiseWikipediaAPIWrapper()
avectop_k_results=1
pour ne récupérer que le premier résultat de Wikipedia. - Créez un outil
WikipediaQueryRun()
appeléwikipedia_tool
, en passant parapi_wrapper
comme entrée avant de l'enregistrer dans une liste appeléetools
. - Liez la liste
tools
à la listellm
en la transmettant à la méthode.bind_tools()
. - Pour demander au chatbot de répondre avec l'outil, transmettez le contenu de
"messages"
dansstate
à la méthode.invoke()
et appliquez-la àllm_with_tools
.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Initialize Wikipedia API wrapper to fetch top one result
api_wrapper = ____(top_k_results=1)
# Create a Wikipedia query tool using the API wrapper
wikipedia_tool = ____(api_wrapper=____)
tools = [____]
# Bind the Wikipedia tool to the language model
llm_with_tools = ____.____(____)
# Modify chatbot function to respond with Wikipedia
def chatbot(state: State):
return {"messages": [____.____(____["____"])]}