Создание инструмента с вызовом LLM
Школьная администрация в восторге от вашей работы над образовательным приложением с агентом поиска по Wikipedia. Теперь они хотят расширить приложение ещё больше — добавить дополнительные инструменты. В этом упражнении вы создадите инструмент historical_events(), который вызывает LLM внутри своего тела, чтобы отвечать на вопросы о знаменитых датах в истории. Инструмент для работы с Wikipedia уже настроен, а объект llm доступен в вашем окружении.
Это упражнение является частью курса
Проектирование агентных систем с LangChain
Инструкции к упражнению
- Добавьте декоратор, чтобы зарегистрировать инструмент и задать входной формат — строка.
- Внутри блока
tryвызовите метод.invoke()объектаllm, передавdate_input, чтобы получить от LLM информацию об исторических событиях. - Верните содержимое ответа LLM с помощью
.content. - Добавьте блок
Exceptionс именемeдля перехвата ошибок и формирования сообщения с подробностями об ошибке.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Use a decorator to label the tool and set the input format to string
@____
def historical_events(date_input: ____) -> ____:
"""Provide a list of important historical events for a given date in any format."""
try:
# Invoke the LLM to interpret the date and generate historical events
response = ____.____(f"List important historical events that occurred on {____}.")
# Return the response
return ____.____
# Set an exception block for errors in retrieval
except ____ as ____:
return f"Error retrieving events: {str(____)}"