ÎncepețiÎncepe gratuit

Adaugă un instrument într-un graf

Instrumentul tău Wikipedia este pregătit. Acum este momentul să îl integrezi în fluxul de lucru al grafului din chatbot! Vei modifica nodurile și muchiile din graful de lucru pentru a incorpora instrumentul ca nod suplimentar. Vei configura graful astfel încât chatbot-ul să poată folosi instrumentul doar când este necesar, în funcție de interogarea utilizatorului. Pentru a gestiona nodul de instrumente și muchiile asociate, următoarele module au fost deja importate pentru tine. wikipedia_tool pe care l-ai construit este de asemenea disponibil în mediul tău. După ce graful este finalizat, acesta va fi vizualizat ca o diagramă LangGraph.

from langgraph.prebuilt import ToolNode, tools_condition

Acest exercițiu face parte din cursul

Proiectarea sistemelor agentice cu LangChain

Vezi cursul

Instrucțiuni pentru exercițiu

  • Folosește .add_node() pentru a adăuga nodul "chatbot" în graf, legându-l de funcția chatbot.
  • Creează un ToolNode() cu wikipedia_tool ca tools și folosește .add_node() pentru a-l adăuga în graf cu numele "tools".
  • Aplică .add_conditional_edges() pentru a direcționa fluxul din "chatbot" pe baza tools_condition.
  • Folosește .add_edge() pentru a conecta "tools" înapoi la "chatbot", START la "chatbot" și "chatbot" la END, pentru a finaliza fluxul de lucru.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# Add chatbot node to the graph
graph_builder.____("____", ____)

# Create a ToolNode to handle tool calls and add it to the graph
tool_node = ____(tools=[____])
graph_builder.____("tools", ____)

# Set up a condition to direct from chatbot to tool or END node
graph_builder.____("____", ____)

# Connect tools back to chatbot and connect START and END nodes
graph_builder.add_edge("____", "____")
graph_builder.add_edge(____, "chatbot")
graph_builder.add_edge("chatbot", ____)

graph = graph_builder.compile()

try:
    display(Image(graph.get_graph().draw_mermaid_png()))

except Exception:
    print("Plot generation failed... falling back to cached asset.")
    display_fallback()
Editează și rulează codul