Zbuduj narzędzie Wikipedia
Administracja szkoły jest bardzo zadowolona z twojej pracy! Chciałaby jeszcze bardziej rozbudować chatbota, dodając dostęp do zewnętrznych zasobów. Proponujesz wyposażenie go w dostęp do Wikipedii. Administracja zgadza się na rozszerzenie zlecenia, więc postanawiasz zbudować narzędzie dla chatbota z wykorzystaniem API Wikipedii.
Następujące moduły zostały już zaimportowane: WikipediaQueryRun, WikipediaAPIWrapper
To ćwiczenie jest częścią kursu
Projektowanie systemów agentowych z LangChain
Instrukcje do ćwiczenia
- Utwórz obiekt
api_wrapper, inicjalizującWikipediaAPIWrapper()z parametremtop_k_results=1, aby pobierać tylko najlepszy wynik z Wikipedii. - Utwórz narzędzie
WikipediaQueryRun()o nazwiewikipedia_tool, przekazującapi_wrapperjako argument wejściowy, a następnie zapisz je na liście o nazwietools. - Powiąż listę
toolsz modelemllm, przekazując ją do metody.bind_tools(). - Aby skierować chatbota do odpowiedzi z użyciem narzędzia, przekaż zawartość klucza
"messages"ze słownikastatedo metody.invoke()i zastosuj ją na obiekciellm_with_tools.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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": [____.____(____["____"])]}