LangChain のエージェントとは何ですか?

Langchain Noejentotoha Hedesuka



LangChain フレームワークは、言語モデルを利用するアプリの開発に使用されます。 LLM は一般的な応答を返し、特定の分野をターゲットにしませんが、LangChain には、ユーザーが複数のコンポーネントを組み合わせて単一の一貫したアプリケーションを作成できるチェーンを作成するための最も強力な属性があります。 LangChain には、多くのモジュール、データ接続、チェーン、エージェント、メモリ、コールバックがあります。

この記事では、LangChain のエージェントについてあらゆる側面から説明します。

LangChain のエージェントとは何ですか?

アプリケーションによっては、あらかじめ決められたチェーンだけでなく、ユーザーの入力に依存する未知のチェーンも必要とする場合があります。そのような場合に備えて「」があります。 エージェント 」ツールにアクセスし、ユーザーの入力と要求に応じてどのツールが必要かを判断します。ツールキットは基本的に、特定の目的を実行するために必要なツールのセットであり、ツールキットには 3 ~ 5 つのツールがあります。







LangChain エージェントの種類

主要なエージェントは 2 つあります。



  • アクションエージェント
  • 計画と実行のエージェント

アクションエージェント: これらのエージェントは、実行するアクションを段階的に決定します。各ステップを評価して実行し、いくつかのステップを含むエージェントの疑似コードについて説明する場合は、次のステップに進みます。



  • ユーザーからの入力を受け取ります。
  • エージェントは、ツールと必要なツールの種類を決定します。
  • そのツールを入力ツールで呼び出して観察を記録します。
  • 履歴ツール、観察ツール、入力ツールはエージェントに返されます。
  • エージェントがこのツールを終了することを決定するまで、このプロセスを繰り返します。

計画と実行のエージェント: これらのエージェントは、まず実行するアクションを決定し、次にそれらのアクションをすべて実行します。





  • ユーザー入力が受信されます。
  • エージェントは、実行するすべてのステップをリストします。
  • エグゼキュータはステップのリストを調べて、それらを実行します。

エージェントのセットアップ

エージェントをセットアップする前に、最新バージョンの パイソン オペレーティングシステムに応じて。

ステップ 1: パッケージのインストール
まず、そのための環境を確立する必要があります。「」を通じて LangChain、google-search-results、openai をインストールする必要があります。 ピップ ' 指示:



ピップ インストール ラングチェーン
ピップ インストール グーグル検索結果
ピップ インストール オープンナイ

必要なライブラリをインポートする:

langchain.schema から SystemMessage をインポート
langchain.agents から OpenAIFunctionsAgent、AgentExecutor をインポート
langchain.agents インポート ツールから
langchain.chat_models から ChatOpenAI をインポート
輸入再
getpass から getpass をインポート

ステップ 2: シークレット API を取得する
環境をセットアップしたら、OpenAI Platform から秘密の API キーを取得する必要があります。

openai_api_key = getpass ( )
llm = チャットオープンAI ( openai_api_key =openai_api_key、 温度 = 0 )

ステップ 3: ツールの初期化
次に、文字列の長さを取得するための簡単な Python コードを記述して、ツールを定義しましょう。

@ 道具
def get_word_string ( 単語: str ) - > 整数:
「」 「文字列の長さを教えてください。」 「」
戻る のみ ( 言葉 )

ツール = [ get_word_string

ステップ 4: プロンプト テンプレートを作成する
ツールを定義した後、これを使用するためのプロンプト テンプレートを設定します。 「OpenAIFunctionsAgent.create_prompt()」 テンプレートを自動的に作成するヘルパー関数。

system_message = システムメッセージ ( コンテンツ = 「あなたは非常に強力なアシスタントですが、文字列の長さを計算するのが苦手です。」 )
プロンプト = OpenAIFunctionsAgent.create_prompt ( システムメッセージ =システムメッセージ )

ステップ 5: エージェントの作成
これで、すべての部分を完成させ、 という関数を使用してエージェントを作成できます。 「OpenAIFunctionsAgent()」

エージェント = OpenAIFunctionsAgent ( llm =llm、 ツール =ツール、 プロンプト =プロンプト )

ステップ 6: ランタイムのセットアップ
エージェントが正常に作成された場合は、エージェントのランタイムを作成します。この「AgentExecutor」がエージェントのランタイムとして使用されます。

Agent_executor = エージェントエグゼキュータ ( エージェント =エージェント、 ツール =ツール、 冗長な =本当 )

ステップ 7: エージェントのテスト
ランタイムを作成したら、今度はエージェントをテストします。

エージェント_エグゼキュータ.run ( 「この文字列には単語が何語含まれていますか?」 )

ステップ 2 で正しい API キーを入力すると、応答が得られます。

結論

この記事はさまざまな側面から説明されています。まず、LangChain とは何か、それがどのように機能するかを示し、次に LangChain のエージェントに移り、LangChain のエージェントの目的について説明し、2 つの主要なタイプのエージェントに関する情報が含まれています。 「アクションエージェント」 そして 「計画と実行のエージェント」 LangChain で使用され、最後にコードが実行されて LangChain にエージェントが確立されます。