始める無料で始める

ノードとエッジを追加する

StateGraph() の準備ができたら、チャットボットのノードをグラフに追加しましょう。あらかじめ用意された STARTEND ノードは LangGraph から直接インポートされるため、作成するのはチャットボット用のノードが1つだけです。あわせて、会話の流れ(開始から終了まで)の方向を決めるエッジも定義します。ノードとエッジを追加したら、グラフをコンパイルして、クエリで実行できるように準備します。

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

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

コースを見る

演習の手順

  • state の現在の "messages" に対して llm.invoke() メソッドを使い、その応答を返す chatbot 関数を定義します。
  • .add_node() を使って、chatbot 関数を参照する名前 "chatbot" のノードをグラフに追加します。
  • .add_edge() を使って、START ノードから "chatbot" ノードへ、そして "chatbot" から END ノードへ接続し、会話のエッジを定義します。
  • .compile() を使ってグラフをコンパイルし、実行の準備をします。

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

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

# Define chatbot function to respond with the model
def chatbot(state: State):
    return {"messages": [llm.____(____["____"])]}

# Add chatbot node to the graph
graph_builder.____("____", ____)

# Define the start and end of the conversation flow
graph_builder.____(____, "____")
graph_builder.____("____", ____)

# Compile the graph to prepare for execution
graph = graph_builder.____()
コードを編集して実行