始める無料で始める

チャットボットを停止させる関数を定義する

チャットボットの状態が準備できたので、次はチャートボットのグラフ全体のワークフローを管理する関数を作成します。最初のステップとして、state(すでに読み込まれています)内のチャットボットの最後のメッセージにツール呼び出しがあるかを確認する should_continue() 関数を作成します。ツール呼び出しがなければチャットボットは停止します。ツールが呼び出されていれば、チャットボットは次のタスクに進みます。メッセージを管理するために、次のモジュールがインポート済みです。

from langgraph.graph import MessagesState, START, END

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

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

コースを見る

演習の手順

  • MessagesState を使って state パラメーターの入力型を指定します。
  • ツール呼び出しを確認するため、state から "messages" を使って最後のメッセージにアクセスします。
  • 最後のメッセージに tool_calls が含まれるかを確認し、含まれる場合は戻り値として "tools" を指定します。
  • tool_calls がない場合は会話を終了するため、戻り値として END を指定します。

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

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

# Use MessagesState to define the state of the function
def should_continue(state: ____):
    
    # Get the last message from the state
    last_message = ____["____"][____]
    
    # Check if the last message includes tool calls
    if ____.____:
        return "____"
    
    # End the conversation if no tool calls are present
    return ____
コードを編集して実行