Creează fluxul de lucru al grafului pentru mai multe unelte
Elementele de bază pentru construirea grafului chatbot-ului sunt acum pregătite! Vei combina toate nodurile într-un singur flux de lucru, folosind muchii pentru a gestiona conexiunile dintre ele. Pentru a începe, fluxul de lucru al grafului a fost deja configurat cu MessagesState și StateGraph() pentru a urmări actualizările mesajelor chatbot-ului. Funcția display() pentru afișarea grafului ca diagramă LangGraph a fost, de asemenea, configurată, iar MemorySaver a fost importat pentru tine.
from langgraph.graph import StateGraph
from langgraph.checkpoint.memory import MemorySaver
workflow = StateGraph(MessagesState)
Acest exercițiu face parte din cursul
Proiectarea sistemelor agentice cu LangChain
Instrucțiuni pentru exercițiu
- Adaugă
call_modelca nod folosind eticheta"chatbot"și adaugătool_nodecu eticheta"tools". - Definește o muchie care conectează nodul
STARTla nodul"chatbot". - Adaugă muchii condiționale de la nodul
"chatbot"către nodurile"tools"șiENDfolosindshould_continue, apoi conectează nodul"tools"înapoi la nodul"chatbot". - Creează o instanță
MemorySaver()și compilează fluxul de lucru într-o aplicație folosindcheckpointer-ul de memorie.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()