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
Övningsinstruktioner
- Använd
.add_node()för att lägga till noden"chatbot"i grafen och koppla den till funktionenchatbot. - Skapa en
ToolNode()medwikipedia_toolsomtoolsoch 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",STARTtill"chatbot"och"chatbot"tillENDfö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()