Добавление узлов и рёбер
Теперь, когда StateGraph() готов, пора добавить узлы чатбота в граф! Узлы START и END уже импортированы из LangGraph, поэтому вам нужно создать только один узел — для чатбота. Также вы определите рёбра, задающие направление разговора — от начала до конца. После добавления всех узлов и рёбер скомпилируйте граф, чтобы подготовить его к выполнению запросов.
Это упражнение является частью курса
Проектирование агентных систем с LangChain
Инструкции к упражнению
- Определите функцию
chatbot: вызовите методllm.invoke()на текущих"messages"изstateи верните полученный ответ. - С помощью
.add_node()добавьте в граф узел с именем"chatbot", который ссылается на функциюchatbot. - Соедините узел
STARTс узлом"chatbot", а"chatbot"— с узломEND, используя.add_edge()для определения рёбер диалога. - Скомпилируйте граф с помощью
.compile(), чтобы подготовить его к выполнению.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Define chatbot function to respond with the model
def chatbot(state: State):
return {"messages": [llm.____(____["____"])]}
# Add chatbot node to the graph
graph_builder.____("____", ____)
# Define the start and end of the conversation flow
graph_builder.____(____, "____")
graph_builder.____("____", ____)
# Compile the graph to prepare for execution
graph = graph_builder.____()