Birden fazla araç için grafik iş akışını oluştur
Sohbet botu grafiğini oluşturmak için yapı taşların artık hazır! Tüm düğümlerini, aralarındaki bağlantıları yönetmek için kenarlar kullanarak tek bir iş akışında birleştireceksin. Başlamak için, sohbet botunun mesaj güncellemelerini izlemek üzere MessagesState ve StateGraph() ile grafik iş akışın senin için ayarlandı. Grafiğini bir LangGraph diyagramı olarak görselleştirmek için display() fonksiyonu da kuruldu ve MemorySaver içe aktarıldı.
from langgraph.graph import StateGraph
from langgraph.checkpoint.memory import MemorySaver
workflow = StateGraph(MessagesState)
Bu egzersiz
LangChain ile Aracı Sistemler Tasarlama
kursunun bir parçasıdırEgzersiz talimatları
call_model'ı"chatbot"etiketiyle bir düğüm olarak ekle vetool_node'u"tools"etiketiyle ekle.STARTdüğümünü"chatbot"düğümüne bağlayan bir kenar tanımla."chatbot"düğümündenshould_continuekullanarak"tools"veENDdüğümlerine koşullu kenarlar ekle, ardından"tools"düğümünü tekrar"chatbot"düğümüne bağla.- Bir
MemorySaver()örneği oluştur ve iş akışını bellekcheckpointerile bir uygulamaya derle.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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()