Dodaj narzędzie do grafu
Twoje narzędzie Wikipedia jest gotowe do działania. Czas zintegrować je z grafem przepływu pracy chatbota! Zmodyfikujesz węzły i krawędzie w grafie, dodając narzędzie jako dodatkowy węzeł. Skonfigurujesz graf tak, aby chatbot korzystał z narzędzia tylko wtedy, gdy będzie to konieczne – w zależności od zapytania użytkownika. Do zarządzania węzłem narzędzia i powiązanymi krawędziami zaimportowano już dla ciebie następujące moduły. W środowisku dostępne jest też zbudowane przez ciebie narzędzie wikipedia_tool. Po zakończeniu budowania grafu zostanie on zwizualizowany jako diagram LangGraph.
from langgraph.prebuilt import ToolNode, tools_condition
To ćwiczenie jest częścią kursu
Projektowanie systemów agentowych z LangChain
Instrukcje do ćwiczenia
- Użyj
.add_node(), aby dodać węzeł"chatbot"do grafu i połączyć go z funkcjąchatbot. - Utwórz
ToolNode()zwikipedia_tooljakotoolsi użyj.add_node(), aby dodać go do grafu jako"tools". - Zastosuj
.add_conditional_edges(), aby kierować ruch z"chatbot"na podstawietools_condition. - Użyj
.add_edge(), aby połączyć"tools"z powrotem z"chatbot",STARTz"chatbot"oraz"chatbot"zEND, zamykając w ten sposób przepływ pracy.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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()