Определите функцию остановки чат-бота
Теперь, когда состояние чат-бота настроено, нужно создать функции для управления рабочим процессом в рамках графа. Для начала вы реализуете функцию should_continue(), которая проверяет наличие вызовов инструментов в последнем сообщении чат-бота внутри state — он уже загружен для вас. Если вызовов инструментов нет, чат-бот завершает работу. Если инструмент вызван, чат-бот переходит к следующей задаче. Для управления сообщениями уже импортированы следующие модули.
from langgraph.graph import MessagesState, START, END
Это упражнение является частью курса
Проектирование агентных систем с LangChain
Инструкции к упражнению
- Укажите тип входного параметра
stateкакMessagesState. - Получите последнее сообщение из
state, обратившись к ключу"messages", чтобы проверить наличие вызовов инструментов. - Проверьте, содержит ли последнее сообщение
tool_calls, и укажите возвращаемое значение"tools", если это так. - Укажите возвращаемое значение
ENDдля завершения разговора, еслиtool_callsотсутствуют.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Use MessagesState to define the state of the function
def should_continue(state: ____):
# Get the last message from the state
last_message = ____["____"][____]
# Check if the last message includes tool calls
if ____.____:
return "____"
# End the conversation if no tool calls are present
return ____