Vytvoř graph workflow pro více nástrojů
Stavební bloky pro vytvoření grafu chatbota jsou připravené! Teď všechny uzly propojíš do jednoho workflow pomocí hran, které řídí spojení mezi nimi. Pro usnadnění startu je graph workflow už připravený – obsahuje MessagesState a StateGraph() pro sledování aktualizací zpráv chatbota. Funkce display() pro vykreslení grafu jako LangGraph diagramu je také nastavená a MemorySaver je už naimportovaný.
from langgraph.graph import StateGraph
from langgraph.checkpoint.memory import MemorySaver
workflow = StateGraph(MessagesState)
Toto cvičení je součástí kurzu
Návrh agentních systémů s LangChain
Pokyny k cvičení
- Přidej
call_modeljako uzel s popiskem"chatbot"atool_nodes popiskem"tools". - Definuj hranu spojující uzel
STARTs uzlem"chatbot". - Přidej podmíněné hrany z uzlu
"chatbot"do uzlů"tools"aENDpomocíshould_continue, a poté propoj uzel"tools"zpět s uzlem"chatbot". - Vytvoř instanci
MemorySaver()a zkompiluj workflow do aplikace s paměťovýmcheckpointerem.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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()