ПочатиПочніть безкоштовно

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

Ваші будівельні блоки для створення графа чатбота вже готові! Тепер об'єднайте всі вузли в один робочий процес, використовуючи ребра для керування зв'язками між ними. Щоб почати, робочий процес графа вже налаштовано для вас із 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()
Редагувати та запускати код