Buat alur kerja graph untuk beberapa tool
Komponen penyusun untuk membuat graph chatbot Anda sekarang sudah siap! Anda akan menyatukan semua node ke dalam satu alur kerja dengan menggunakan edge untuk mengelola koneksi di antara mereka. Untuk memulai, alur kerja graph Anda sudah disiapkan dengan MessagesState dan StateGraph() untuk melacak pembaruan pesan chatbot. Fungsi display() untuk merender graph Anda sebagai diagram LangGraph juga telah disiapkan dan MemorySaver telah diimpor untuk Anda.
from langgraph.graph import StateGraph
from langgraph.checkpoint.memory import MemorySaver
workflow = StateGraph(MessagesState)
Latihan ini adalah bagian dari kursus
Merancang Sistem Agentic dengan LangChain
Petunjuk latihan
- Tambahkan
call_modelsebagai node dengan label"chatbot"dan tambahkantool_nodedengan label"tools". - Definisikan edge yang menghubungkan node
STARTke node"chatbot". - Tambahkan edge bersyarat dari node
"chatbot"ke node"tools"danENDmenggunakanshould_continue, sebelum menghubungkan node"tools"kembali ke node"chatbot". - Buat instance
MemorySaver()dan kompilasi alur kerja menjadi sebuah aplikasi dengancheckpointermemori.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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()