Baue ein Wikipedia-Tool
Die Schulleitung ist sehr zufrieden mit deiner Arbeit! Sie würden den Chatbot gerne noch leistungsfähiger machen, indem sie externe Ressourcen einbeziehen. Du schlägst vor, den Chatbot mit einem Zugang zu Wikipedia auszustatten. Die Verwaltung erklärt sich bereit, deinen Auftrag zu verlängern, also beschließt du, ein Tool für den Chatbot zu bauen, das die Wikipedia-API nutzt.
Die folgenden Module wurden importiert, damit du loslegen kannst: WikipediaQueryRun
, WikipediaAPIWrapper
Diese Übung ist Teil des Kurses
Agentensysteme mit LangChain entwerfen
Anleitung zur Übung
- Erstelle eine
api_wrapper
, dieWikipediaAPIWrapper()
mittop_k_results=1
initialisiert, um nur das oberste Wikipedia-Ergebnis abzurufen. - Erstelle ein
WikipediaQueryRun()
Tool mit dem Namenwikipedia_tool
und gibapi_wrapper
als Eingabe ein, bevor du es in einer Liste mit dem Namentools
speicherst. - Binde die Liste
tools
anllm
, indem du sie an die Methode.bind_tools()
übergibst. - Um den Chatbot anzuweisen, mit dem Tool zu antworten, übergibst du den Inhalt von
"messages"
instate
an die Methode.invoke()
und wendest sie aufllm_with_tools
an.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
# 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": [____.____(____["____"])]}