開始使用免費開始

為多個工具建立圖形工作流程

建立聊天機器人圖形的基礎元件都準備好了!你現在要把所有節點用邊串接成單一工作流程,並以邊來管理它們之間的連結。為了幫你開始,圖形工作流程已替你設定好 MessagesStateStateGraph(),用來追蹤聊天機器人的訊息更新。用來將圖形渲染成 LangGraph 圖表的 display() 函式也已設定完成,MemorySaver 也已為你匯入。

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

workflow = StateGraph(MessagesState)

本練習屬於課程

Designing Agentic Systems with LangChain

檢視課程

練習說明

  • 使用標籤 "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()
編輯並執行程式碼