Tạo quy trình đồ thị cho nhiều công cụ
Các khối xây dựng để tạo đồ thị chatbot của bạn đã sẵn sàng! Bạn sẽ ghép tất cả các node lại thành một quy trình duy nhất, dùng các cạnh để quản lý kết nối giữa chúng. Để bắt đầu, quy trình đồ thị của bạn đã được thiết lập sẵn với MessagesState và StateGraph() để theo dõi cập nhật tin nhắn của chatbot. Hàm display() để hiển thị đồ thị của bạn dưới dạng sơ đồ LangGraph cũng đã được thiết lập và MemorySaver đã được nhập sẵn cho bạn.
from langgraph.graph import StateGraph
from langgraph.checkpoint.memory import MemorySaver
workflow = StateGraph(MessagesState)
Bài tập này là một phần của khóa học
Thiết kế Hệ thống Agentic với LangChain
Hướng dẫn bài tập
- Thêm
call_modellàm một node với nhãn"chatbot"và thêmtool_nodevới nhãn"tools". - Định nghĩa một cạnh nối node
STARTtới node"chatbot". - Thêm các cạnh có điều kiện từ node
"chatbot"đến các node"tools"vàENDbằngshould_continue, rồi nối node"tools"trở lại node"chatbot". - Tạo một instance
MemorySaver()và biên dịch workflow thành một ứng dụng vớicheckpointerlà bộ nhớ.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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()