НачатьНачать бесплатно

Создание графа рабочего процесса для нескольких инструментов

Все строительные блоки для вашего графа чат-бота готовы! Теперь объедините все узлы в единый рабочий процесс, используя рёбра для управления связями между ними. Граф уже настроен для вас: заданы MessagesState и StateGraph() для отслеживания обновлений сообщений чат-бота. Функция display() для отображения графа в виде диаграммы LangGraph также подготовлена, а MemorySaver уже импортирован.

from langgraph.graph import StateGraph
from langgraph.checkpoint.memory import MemorySaver

workflow = StateGraph(MessagesState)

Это упражнение является частью курса

Проектирование агентных систем с LangChain

Посмотреть курс

Инструкции к упражнению

  • Добавьте call_model как узел с меткой "chatbot", а tool_node — с меткой "tools".
  • Определите ребро, соединяющее узел START с узлом "chatbot".
  • Добавьте условные рёбра из узла "chatbot" к узлам "tools" и END, используя should_continue, а затем соедините узел "tools" обратно с узлом "chatbot".
  • Создайте экземпляр MemorySaver() и скомпилируйте рабочий процесс в приложение, передав checkpointer с памятью.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Add nodes for chatbot and tools
workflow.add_node("____", ____)
workflow.add_node("____", ____)

# Define an edge connecting START to the chatbot
workflow.add_edge(____, "____")

# Define conditional edges and route "tools" back to "chatbot"
workflow.add_conditional_edges("____", ____, ["____", ____])
workflow.add_edge("____", "____")

# Set up memory and compile the workflow
memory = ____()
app = workflow.____(checkpointer=____)

try:
    display(Image(graph.get_graph().draw_mermaid_png()))

except Exception:
    print("Plot generation failed... falling back to cached asset.")
    display_fallback()
Редактировать и запускать код