ノードとエッジを追加する
StateGraph() の準備ができたら、チャットボットのノードをグラフに追加しましょう。あらかじめ用意された START と END ノードは 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.____()