CoAgentsは、大規模言語モデル(LLM)が外部ツールやAPIを使用する能力を強化するために設計された、革新的なマルチインテリジェンス連携フレームワークです。このフレームワークの中核となる考え方は、複雑なツール使用タスクを3つの専門化されたインテリジェンスに分解することである。すなわち、ツール使用命令の生成を担当するグラウンディング・エージェント、特定のツール操作の実行を担当する実行エージェント、ツールからの結果の取得を担当する実行エージェントである。"Grounding Agent "は、ツールの使用手順を生成する役割を担い、"Execution Agent "は、特定のツール操作を実行する役割を担い、"Observing Agent "は、ツールから返される結果から重要な情報を抽出する役割を担う。これら3つのインテリジェンスは相互作用し、協働して完全なフィードバックループを形成する。ツール環境がエラーやフィードバックを返すと、実行エージェントと観察エージェントは反復的に調整し、自己修正することができるため、モデルはタスクを完了するためにツールをより正確かつ効率的に使用する方法を学習する。このプロジェクトの実装コードはGitHubでオープンソース化されており、TMDB (The Movie Database) APIに基づいたデモが提供されている。
機能一覧
- マルチインテリジェンス・コラボレーションのフレームワーク3つの知性(基礎、実行、観察)を連携させ、道具の使用プロセスを3つのステップ(指示生成、実行、結果分析)に分解する。
- 反復学習と適応ツールが正しく実行されなかったり、満足のいく結果が得られなかったりした場合、フレームワークは環境からのフィードバックを受け取り、実行エージェントと観察エージェントを調整し最適化するよう駆動することができる。
- ツールコマンド生成グラウンディング・エージェントは、ユーザーの意図を理解し、それをツールを使用するための具体的で実行可能な指示に変換する役割を担っています。
- ツールの実装と結果の抽出実行エージェントは指定されたツールやAPIを呼び出し、観測エージェントは返された生データから貴重な情報を正確に抽出します。
- OpenAIモデルのサポートこのフレームワークはOpenAIのAPIと統合されており、ユーザーによって
gpt-3.5-turbo
をはじめとする複数のモデルをインテリジェンスの原動力としている。 - APIキーのローテーション複数のOpenAI APIキーをコンフィギュレーションに追加し、単一のキーのレート制限を回避するためにランダムな選択ポリシーを介してそれらを要求することをサポートします。
- カスタムAPIエンドポイントユーザは、Open-AI APIのリクエストアドレス(Base URL)を柔軟に設定することができ、サードパーティや自作のLLMサービスに簡単にアクセスすることができます。
- TMDBデモケースTMDB映画データベースAPIに基づいた完全なデモスクリプトを提供します。
run_tmdb.py
これは、知的体がどのように協力して映画に関する情報を調べることができるかを示している。
ヘルプの使用
CoAgentsはPythonベースの実験的なフレームワークで、大規模な言語モデルをツールの使い方をよりよく学習させる方法を探るために設計されている。次のセクションでは、プロジェクトの設定と実行方法について詳しく説明します。
1.環境の準備と設置
まず、Pythonがインストールされた環境が必要だ。次に、Pythonをpip
コマンドは、プロジェクトに必要なコア依存ライブラリをインストールします。これらのライブラリーは、フレームワークの基礎となる機能を提供します。langchain
インテリジェント・ボディ・アプリケーションの構築のために。openai
大規模な言語モデルとの対話のために。
ターミナル(コマンドラインツール)を開き、以下のコマンドを実行する:
pip install langchain==0.0.338 openai==1.7.1 tiktoken==0.5.1 colorama==0.4.6
注:公式文書ではlangchain
利用する0.0.338
のバージョンと互換性がありますが、新しいバージョンとも同様に互換性があります。
2.APIキーの取得と設定
CoAgentsは、その操作のために2種類の外部APIに依存している:OpenAI API 歌で応える TMDB API.
OpenAI API キーを設定する
- 1つ以上のOpenAI APIキーが必要です。
- プロジェクトのルート・ディレクトリで、以下のファイルを探し、開く。
./utilize/apis.py
. - そのファイルの中に
api_keys_list
Pythonのリスト。OpenAIのキー文字列をこのリストに追加します。# 文件路径:./utilize/apis.py api_keys_list = [ 'sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', # 在这里替换成你的第一个API密钥 'sk-yyyyyyyyyyyyyyyyyyyyyyyyyyyyyy', # 如果有多个,可以继续添加 ]
フレームワークは巧妙なメカニズムで設計されており、リクエストごとに、リストからランダムにキーを選択する。これにより、リクエストの圧力が効果的に分散され、一つのキーがその頻度の限界に達することによるプログラムの中断を避けることができる。
- サードパーティのプロキシ・サービスや自作のLLMサービスを使用する場合は、以下のように変更してください。
BASE_URL
変数を使用してAPIリクエスト・アドレスを指定する。公式APIを使用する場合、修正は必要ない。# 文件路径:./utilize/apis.py BASE_URL = 'https://api.openai.com/v1' # 如果需要,可修改为你的代理地址
TMDB API アクセストークンの設定
- TMDB(映画データベース)の公式サイトにアクセスし、アカウントを登録する。
- TMDBのガイドラインに従って、API Access Token(アクセストークン)をリクエストします。
- CoAgentsプロジェクトのルート・ディレクトリにある手動で新規ファイルを作成すると名付ける。
access_token.txt
. - 取得したTMDBアクセストークンをこの新しく作成したファイルに貼り付け、保存する。
3.デモンストレーション・プログラムの実施
上記をすべて終えたら、プロジェクトに付属するデモ・アプリケーションを実行することができます。run_tmdb.py
まで。このプログラムでは、CoAgentsがTMDB APIを使ってどのようにフィルムデータを照会するかを紹介する。
ターミナルを開き、プロジェクトのルート・ディレクトリに移動し、以下のコマンドを実行する:
python run_tmdb.py
--model_name 'gpt-3.5-turbo'
--log_file './log_file.json'
--data_file <your_dataset_file>
--access_token_file './access_token.txt'
各コマンドラインパラメーターの意味は、以下で詳しく説明する:
model_name
知能を駆動する大きな言語モデルを指定します。デフォルトはgpt-3.5-turbo
必要であれば、コードに手を加えることができる。log_file
プログラムの実行中にインテリジェンス間のインタラクションを記録するためのファイルパスを指定します。これはデバッグや分析に便利です。data_file
タスクデータを含むデータセットファイルを指定する。フォーマット要件を満たし、照会するタスク指示を含むデータファイルを提供する必要があります。access_token_file
TMDBアクセストークンを格納するファイルへのパスを指定します。ここでは、作成したばかりのaccess_token.txt
.
このコマンドを実行すると、CoAgents フレームワークが動作し始める。ベースエージェントはデータセットのタスクに基づいてツールの使用計画を生成し、実行エージェントはTMDB APIを呼び出し、観測エージェントは返されたJSONデータから必要な情報を抽出して、最終的にクエリタスクを完了し、結果を出力します。プロセス全体の詳細なログは、指定したlog_file.json
ドキュメンテーション
アプリケーションシナリオ
- インテリジェントAPIコール
複雑な外部API(ソーシャルメディア、天気、金融データなど)とやり取りする必要があるシナリオでは、CoAgentsは、開発者がAPIごとに固定の解析コードを記述することなく、リクエストの構築、送信、返されたデータからの重要な情報の抽出方法を自動的に学習することができます。 - 自動化されたデータ照会と分析
ユーザーは自然言語でクエリーリクエストを行うことができ(例えば、「2023年に公開されたSF映画で最も評価の高い5作品を探すのを手伝ってください」)、CoAgentsはリクエストを分解し、データベースクエリーツール(例えば、TMDB API)を呼び出してクエリーを実行し、結果を統合して正確な回答を生成することができる。. - 複雑なタスクの分解と実行
例えば、「天候、交通、宿泊を考慮した北京から上海への旅行の計画」のような、完了するまでに複数のステップやツールを必要とする複雑なタスクの場合、CoAgentsのコラボレーションフレームワークは、タスクを天候クエリ、航空券予約、ホテルクエリなどのサブタスクに分割し、対応するツールを順番に呼び出して完了させることができる。完了する。 - ソフトウェアまたはシステム運用の自動化
CoAgentは、APIインターフェースを持つソフトウェアやオペレーティング・システムの操作を学習することができる。例えば、ファイルシステムAPIを学習することで、ファイルの作成、移動、削除を可能にすることができ、カレンダーAPIを学習することで、ユーザーが自動的に会議のスケジュールを立てるのを助けることができる。
品質保証
- CoAgentsのフレームワークには、どのコア・インテリジェンスが含まれているのか?それぞれの責任は?
CoAgentsのフレームワークには、3つのコア・インテリジェンスが含まれている:- 接地剤その主な責任は、ユーザーのタスク要件を理解し、特定のツールを使用するための詳細な指示や計画を生成することです。
- 実行エージェントベースエージェントが生成した指示に基づいて、適切なツールやAPIを実際に呼び出して実行する。
- 観測エージェントツールの実行が終わると、返された結果(通常はJSONまたはテキスト)を分析し、そこからユーザーに役立つ重要な情報を抽出する。
- ツールの導入に失敗した場合、CoAgentsはどうするのか?
これは CoAgents フレームワークの核となる強みである。ツールを呼び出した後、実行エージェントがエラーフィードバック(例えば、APIがエラーコードを返す)を受け取ると、このフィードバックはシステムによって捕捉される。実行エージェントと観測エージェントは、このフィードバックに対して反復的に調整する。実行エージェントは、リクエストパラメータを修正したり、ポリシーを変更したりして、再度実行を試みる。 - CoAgents プロジェクトを実行する前に、どのような API キーを準備する必要がありますか?
2種類のAPIクレデンシャルを用意する必要がある:- OpenAI APIキー:: インテリジェンス(エージェント)の思考と意思決定能力を促進し、次のようなことをサポートするために使用されます。
gpt-3.5-turbo
などのモデルがある。 - TMDB API アクセストークン: プロジェクトのデモケースで使用されたThe Movie DatabaseにアクセスするためのThe Movie Database API。
- OpenAI APIキー:: インテリジェンス(エージェント)の思考と意思決定能力を促進し、次のようなことをサポートするために使用されます。
- ツールの交換や追加はできますか?
CoAgentsは本来、ツールに簡単にアクセスして使用できるように設計されたフレームワークです。デモケースではTMDB APIを使用していますが、開発者はコードを拡張して新しいツールを定義し、インテリジェンスに利用させることができます。必要なのは、ベースエージェントが新しいツールの使用命令を生成することを学習し、観察エージェントが新しいツールの返された結果を解析することを学習することだけです。