1. 学ぶ
  2. /
  3. コース
  4. /
  5. LangChainで設計するエージェント型システム

Connected

演習

複数ツール用のグラフワークフローを作成する

チャットボットのグラフを作るための部品は準備完了です! ここでは、ノード同士の接続をエッジで管理しながら、すべてのノードを1つのワークフローにまとめます。はじめに、チャットボットのメッセージ更新を追跡する MessagesState と StateGraph() を使ったグラフワークフローはすでに用意されています。グラフを LangGraph の図として描画する display() 関数も設定済みで、MemorySaver もインポートされています。

from langgraph.graph import StateGraph
from langgraph.checkpoint.memory import MemorySaver

workflow = StateGraph(MessagesState)

指示

100 XP
  • call_model を "chatbot" というラベルでノードとして追加し、tool_node を "tools" というラベルで追加します。
  • START ノードから "chatbot" ノードへ接続するエッジを定義します。
  • should_continue を使って、"chatbot" ノードから "tools" ノードと END ノードへ条件付きエッジを追加し、その後 "tools" ノードを "chatbot" ノードへ戻すように接続します。
  • MemorySaver() インスタンスを作成し、メモリを checkpointer に指定してワークフローをアプリケーションにコンパイルします。