Erstelle ein Wikipedia-Tool
Die Schulverwaltung ist sehr zufrieden mit deiner Arbeit! Sie möchte den Chatbot noch leistungsfähiger machen, indem externe Ressourcen eingebunden werden. Du schlägst vor, dem Chatbot Zugriff auf Wikipedia zu geben. Die Verwaltung stimmt einer Erweiterung deines Auftrags zu, also entscheidest du dich, ein Tool für den Chatbot mithilfe der Wikipedia-API zu bauen.
Die folgenden Module wurden für dich importiert, damit du loslegen kannst: WikipediaQueryRun, WikipediaAPIWrapper
Diese Übung ist Teil des Kurses
Agentische Systeme mit LangChain entwerfen
Anleitung zur Übung
- Erstelle einen
api_wrapper, derWikipediaAPIWrapper()mittop_k_results=1initialisiert, um nur das Top-Ergebnis von Wikipedia abzurufen. - Erstelle ein
WikipediaQueryRun()-Tool mit dem Namenwikipedia_toolund übergib denapi_wrapperals Eingabe, bevor du es in einer Listetoolsspeicherst. - Binde die
tools-Liste an dasllm, indem du sie an die Methode.bind_tools()übergibst. - Damit der Chatbot mit dem Tool antwortet, übergib den Inhalt von
"messages"instatean die.invoke()-Methode und wende sie aufllm_with_toolsan.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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": [____.____(____["____"])]}