Создание инструмента Wikipedia
Школьная администрация осталась довольна вашей работой! Теперь она хочет сделать чат-бота ещё более мощным, подключив к нему внешние ресурсы. Вы предлагаете дать чат-боту доступ к Wikipedia — администрация соглашается расширить задание, и вы приступаете к созданию инструмента на основе Wikipedia API.
Для начала работы импортированы следующие модули: WikipediaQueryRun, WikipediaAPIWrapper
Это упражнение является частью курса
Проектирование агентных систем с LangChain
Инструкции к упражнению
- Создайте
api_wrapper, инициализировавWikipediaAPIWrapper()с параметромtop_k_results=1, чтобы получать только первый результат из Wikipedia. - Создайте инструмент
WikipediaQueryRun()с именемwikipedia_tool, передав в негоapi_wrapper, и сохраните его в списокtools. - Привяжите список
toolsк моделиllm, передав его в метод.bind_tools(). - Чтобы чат-бот использовал инструмент при ответе, передайте содержимое
"messages"изstateв метод.invoke()объектаllm_with_tools.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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": [____.____(____["____"])]}