Kom igångKom igång gratis

Lägg till ett verktyg i en graf

Nu är ditt Wikipedia-verktyg redo att användas. Det är dags att integrera det i chatbotens grafarbetsflöde! Du kommer att ändra noder och kanter i grafarbetsflödet för att lägga till verktyget som en extra nod. Du konfigurerar grafen så att chatboten bara använder verktyget när det behövs, beroende på användarens fråga. Följande moduler har importerats åt dig för att hantera verktygsnoden och dess tillhörande kanter. wikipedia_tool som du byggde finns också tillgänglig i din miljö. När grafen är färdigbyggd visualiseras den som ett LangGraph-diagram.

from langgraph.prebuilt import ToolNode, tools_condition

Den här övningen är en del av kursen

Designa agentbaserade system med LangChain

Visa kurs

Övningsinstruktioner

  • Använd .add_node() för att lägga till noden "chatbot" i grafen och koppla den till funktionen chatbot.
  • Skapa en ToolNode() med wikipedia_tool som tools och använd .add_node() för att lägga till den i grafen som "tools".
  • Använd .add_conditional_edges() för att dirigera från "chatbot" baserat på tools_condition.
  • Använd .add_edge() för att koppla "tools" tillbaka till "chatbot", START till "chatbot" och "chatbot" till END för att slutföra arbetsflödet.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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()
Redigera och kör kod