开始使用免费开始使用

为多工具创建图工作流

用于创建聊天机器人图的构件现在都已就绪!您将把所有节点用边连接起来,组合成一个完整的工作流,并用边来管理它们之间的连接。为便于开始,已为您预先设置了用于跟踪聊天机器人消息更新的 MessagesStateStateGraph()。用于将图渲染为 LangGraph 图示的 display() 函数也已就绪,并且已为您导入 MemorySaver

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

workflow = StateGraph(MessagesState)

本练习是课程的一部分

使用 LangChain 设计 Agentic 系统

查看课程

练习说明

  • 使用标签 "chatbot" 添加 call_model 作为一个节点,并使用标签 "tools" 添加 tool_node
  • 定义一条从 START 节点到 "chatbot" 节点的边。
  • 先从 "chatbot" 节点出发,使用 should_continue 添加到 "tools"END 节点的条件边,然后再将 "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()
编辑并运行代码