LangChain でエージェントの中間ステップにアクセスするにはどうすればよいですか?

Langchain Deejentono Zhong Jiansuteppuniakusesusurunihadousurebayoidesuka



LangChain は、人間の言語で質問に答える機能を持つチャット モデルまたは言語モデルを構築するためのフレームワークです。ユーザーが自然言語で文字列を入力すると、モデルがそれを理解して応答を生成します。外部の観点から構造を見ると、チャット モデルはこれらのアクション/タスクのみを実行すると考えられます。ただし、最適なパフォーマンスを得るために特定の順序で動作する必要がある複数の中間ステップが含まれています。

概要

この投稿では次のことを説明します。

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 のエージェントの中間ステップにアクセスするプロセスについて詳しく説明しました。