「LangChainエージェントを使用してLLMをスーパーチャージする方法」
Using the LangChain agent to supercharge LLM.
LLMは私たちにとって信じられないほどの多くの偉業を成し遂げることができますが、元々生成AIが行うことを意図していた境界に束縛されています:訓練データに基づいてテキストを生成することです。
彼らはウェブ上のサービスにアクセスしてより正確で最新の回答を提供することはできず、代わりに、彼らは創造者が数年前に収集できた訓練データを使用して回答することが意図されています。彼らは計算機のような簡単なツールにアクセスすることもできません。そのため、すべての数学的な操作の結果を記憶する必要があります。彼らは私たちが現実世界で行うべき行動を実行するために私たちに依存しており、私たちは結果を報告します。
私たちのLLMに本当に強力な力を与えるために、私たちはエージェントを使用することができます。
エージェントとは何ですか?
エージェントは、与えられたツールを使用してリクエストを完了するために必要なアクションに関する推論を行うLLMです。エージェントはどのLLMとも共に使用できます。それは単に上に配置されたレイヤーであり、エージェントにコンテキスト、パーソナリティ、および使用する戦略を示すプロンプトを構築します。
- シンプルなDockerデータサイエンスイメージの作成
- 「PyTorch ProfilerとTensorBoardを使用して、データ入力パイプラインのボトルネックを解消する」
- 「マシンラーニングによるNBAの給与予測」
明らかに、エージェントだけでは十分ではありません。私たちはまた、エージェントが使用できるようにツールを作成/使用する必要があります。エージェントエグゼキュータは、エージェントと使用するツールの両方を実行するランタイムです。ツールは単独の関数であるか、ツールキットと呼ばれるツールのコレクションとして提供されることができます。
ツールとツールキットとは何ですか?
ツールは関数です。エージェントは使用するためのツールのリストを取得し、1つ、複数、またはなしを使用するように要求します。エージェントエグゼキュータは必要なツールを実行し、結果をエージェントにフィードバックします。ツールの例として、Google検索機能があります。これにより、LLMはGoogle検索を使用して持っていない情報を確認できます。
エージェントが必要なツールを正しく選択できるようにするには、それらのツールが存在し、エージェントが必要とする目的に適切に実装され、ツールのリストに含まれている必要があります。しかし、さらに重要なのは、これらのツールが詳細に説明されている必要があることです。これにより、エージェントは必要かどうかを簡単に判断し、どのように役立つかを決定できます。
ツールキットは単なるツールのセットです。これらのツールは通常、一緒に使用すると便利です。これらのツールは、マルチステップの目標を達成するために一緒に使用する場合や、同じドメインでのアクションまたは類似のアクションを行うためにグループ化される場合があります。ツールキットの例として、Gmailツールキットがあります。これにより、LLMはメールを読み取ったり、新しいメールを作成したり、削除したりすることができます。
エージェントはどのような戦略を使用しますか?
エージェントにツールのセットが提供された後、どのツールを使用するかをどのように知るのでしょうか?エージェントは、LLMが推論し、アクションを決定するためのさまざまなプロンプトエンジニアリング戦略を使用することができます。いくつかの人気のあるプロンプトエンジニアリングの手法は、前の記事「プロンプトエンジニアリング」で議論されました。
エージェントの最も人気のある戦略は、ReActメソッドです。ReActは、Few-shot学習とChain-of-Thought推論の例を組み合わせて使用します。これらの例には、次のものが含まれます:
- 思考は推論戦略から転写されます。
- アクションは、LLMが口頭で環境と対話できるようにします。
- 観察は、アクションを実行した後に得られます。
その後、LLMはこの方法でどのように行動し、ツールと対話するかを理解し、実際の対話に適用することができます。ReActのプロンプトの例は次のとおりです:
LangChainエージェントの使用方法
LangChainは、アプリケーションにLLMを迅速に統合するために非常に便利なPythonライブラリ(JS / TSも)です。利用可能なプロンプト戦略が豊富で、多くのエージェントもあります。
LangChainのツールを使用して独自のツールを作成するには、次のようにします(非常に重要:関数にドキュメントストリングの説明を付けてください。これはエージェントが使用するツールを選択するために使用されます):
その後、このツールを選んだエージェントとともに、またLangchainとも一緒に使用してください:
LangChainとそのツールについては、ドキュメンテーションを参照して詳細を学ぶことができます。
近い将来、エージェントがLLMsにより多くの機能をもたらすようです。これらの新しい機能がアプリケーションやツールに展開されるにつれて、より優れたことが可能になります。私は非常に興味津々で、新しい可能性に期待しています。
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles