Aan de slagGa gratis aan de slag

Bouw een Wikipedia-tool

De schoolleiding is erg blij met je werk! Ze willen de chatbot nog krachtiger maken door externe bronnen toe te voegen. Jij stelt voor om de chatbot toegang te geven tot Wikipedia. De schoolleiding gaat akkoord met het verlengen van je opdracht, dus besluit je een tool voor de chatbot te bouwen met de Wikipedia-API.

De volgende modules zijn alvast voor je geïmporteerd: WikipediaQueryRun, WikipediaAPIWrapper

Deze oefening maakt deel uit van de cursus

Agentic Systems ontwerpen met LangChain

Cursus bekijken

Oefeninstructies

  • Maak een api_wrapper die WikipediaAPIWrapper() initialiseert met top_k_results=1 om alleen het bovenste Wikipedia-resultaat op te halen.
  • Maak een WikipediaQueryRun()-tool met de naam wikipedia_tool en geef de api_wrapper als invoer mee voordat je deze opslaat in een lijst tools.
  • Bind de lijst tools aan de llm door deze door te geven aan de .bind_tools()-methode.
  • Om de chatbot het antwoord via de tool te laten geven, geef je de inhoud van "messages" in state door aan de .invoke()-methode en pas je deze toe op llm_with_tools.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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": [____.____(____["____"])]}
Code bewerken en uitvoeren