始める無料で始める

グラフにツールを追加する

Wikipedia ツールの準備ができました。次は、チャットボットのグラフワークフローに組み込みましょう。ツールを追加のノードとして組み込むために、グラフ内のノードとエッジを変更します。ユーザーの質問内容に応じて、必要なときだけチャットボットがツールを使えるようにグラフを設定します。ツールノードとその関連エッジを管理するために、次のモジュールがインポート済みです。作成済みの wikipedia_tool も環境で利用できます。グラフの構築が完了すると、LangGraph のダイアグラムとして視覚化されます。

from langgraph.prebuilt import ToolNode, tools_condition

この演習はコースの一部です

LangChainで設計するエージェント型システム

コースを見る

演習の手順

  • .add_node() を使って、"chatbot" ノードをグラフに追加し、chatbot 関数に紐づけます。
  • toolswikipedia_tool を指定して ToolNode() を作成し、.add_node()"tools" としてグラフに追加します。
  • .add_conditional_edges() を適用し、tools_condition に基づいて "chatbot" からのルーティングを行います。
  • .add_edge() を使って、"tools" から "chatbot"START から "chatbot"、そして "chatbot" から END を接続し、ワークフローを完成させます。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# 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()
コードを編集して実行