概要
この投稿では次のことを説明します。
- LangChain でエージェントの中間ステップにアクセスする方法
- 方法 1: 中間ステップにアクセスするためのデフォルトの戻り値の型
- 方法 2: 「ダンプ」を使用して中間ステップにアクセスする
- 結論
LangChain でエージェントの中間ステップにアクセスするにはどうすればよいですか?
LangChain でエージェントを構築するには、ユーザーはそのツールとテンプレートの構造を構成して、モデルに含まれるステップの数を取得する必要があります。エージェントは、思考、アクション、観察などの中間ステップを自動化する責任があります。LangChain 内のエージェントの中間ステップにアクセスする方法を学ぶには、リストされた手順に従うだけです。
ステップ 1: フレームワークのインストール
まず、Python ノートブックで次のコードを実行して、LangChain の依存関係をインストールします。
pip インストール langchain_experimental
OpenAI モジュールをインストールし、次のコマンドを使用してその依存関係を取得します。 ピップ コマンドを実行し、それらを使用して言語モデルを構築します。
pip インストール openai
ステップ 2: OpenAI 環境の設定
モジュールをインストールしたら、 OpenAI環境 アカウントから生成された API キーを使用します。
輸入 あなた
輸入 ゲットパス
あなた。 約 [ 「OPENAI_API_KEY」 ] = ゲットパス。 ゲットパス ( 「OpenAI API キー:」 )
ステップ 3: ライブラリのインポート
依存関係がインストールされたので、それらを使用して LangChain からライブラリをインポートします。
ラングチェーンから。 エージェント 輸入 ロードツールラングチェーンから。 エージェント 輸入 エージェントの初期化
ラングチェーンから。 エージェント 輸入 エージェントタイプ
ラングチェーンから。 llms 輸入 OpenAI
ステップ 4: LLM とエージェントの構築
ライブラリをインポートしたら、それらを使用してエージェントの言語モデルとツールを構築します。 llm 変数を定義し、温度と model_name 引数を含む OpenAI() メソッドを使用して割り当てます。 ” ツール ” 変数には、引数に SerpAPI および llm-math ツールと言語モデルを含むload_tools() メソッドが含まれています。
llm = OpenAI ( 温度 = 0 、 モデル名 = 「テキスト-ダヴィンチ-002」 )ツール = ロードツール ( [ 「セルパピ」 、 「llm-数学」 ] 、 llm = llm )
言語モデルとツールを構成したら、言語モデルのツールを使用して中間ステップを実行するようにエージェントを設計するだけです。
エージェント = エージェントの初期化 (ツール 、
llm 、
エージェント = エージェントタイプ。 ZERO_SHOT_REACT_DESCRIPTION 、
冗長な = 真実 、
return_intermediate_steps = 真実 、
)
ステップ 5: エージェントの使用
次に、agent() メソッドの入力で質問をし、それを実行することで、エージェントをテストします。
応答 = エージェント ({
'入力' : 「レオ・ディカプリオの彼女は誰ですか、そして彼らの年齢差は何ですか」
}
)
モデルは、レオ・ディカプリオのガールフレンドの名前、彼女の年齢、レオ・ディカプリオの年齢、そして両者の差を効率的に調べました。次のスクリーンショットは、最終的な回答に到達するためにエージェントによって検索されたいくつかの質問と回答を示しています。
上のスクリーンショットには、エージェントの動作と、すべての答えを見つけるためにその段階に至るまでの過程が表示されていません。次のセクションに進んで手順を確認しましょう。
方法 1: 中間ステップにアクセスするためのデフォルトの戻り値の型
中間ステップにアクセスする最初の方法は、次のコードを使用して、LangChain によって提供されるデフォルトの戻り値の型を使用することです。
印刷する ( 応答 [ 「中間ステップ」 ] )次の GIF は、中間ステップを 1 行で表示していますが、読みやすさの面ではあまり良くありません。
方法 2: 「ダンプ」を使用して中間ステップにアクセスする
次の方法では、LangChain フレームワークのダンプ ライブラリを使用して中間ステップを取得する別の方法について説明します。 dumps() メソッドを pretty 引数とともに使用すると、出力がより構造化されて読みやすくなります。
ラングチェーンから。 負荷 。 ごみ 輸入 ダンプ印刷する ( ダンプ ( 応答 [ 「中間ステップ」 ] 、 かわいい = 真実 ) )
これで、ユーザーが読みやすい、より構造化された形式で出力が得られました。また、わかりやすくするために複数のセクションに分割されており、各セクションには質問に対する答えを見つける手順が含まれています。
LangChain のエージェントの中間ステップにアクセスする方法は以上です。
結論
LangChain のエージェントの中間ステップにアクセスするには、言語モデルを構築するためのライブラリをインポートするモジュールをインストールします。その後、ツール、llm、質問に回答できるエージェントの種類を使用してエージェントを初期化するためのツールをセットアップします。エージェントを構成したら、テストして答えを取得し、デフォルト タイプまたはダンプ ライブラリを使用して中間ステップにアクセスします。このガイドでは、LangChain のエージェントの中間ステップにアクセスするプロセスについて詳しく説明しました。