前書き#
この文書は、BMTools の使用状況と関連原理について簡単に記録し、紹介するものです。
ChatGPT-Plugins の申請に苦労していますか?BMTools は、オープンソース版の ChatGPT-Plugins 使用ライブラリであり、カスタム拡張プラグインを作成したり、公式の ChatGPT-Plugins を使用したりすることができます。
本文#
一、BMTools の紹介#
BMTools は、言語モデルを使用して拡張ツールを利用するためのオープンソースリポジトリであり、オープンソースコミュニティがツールを構築し共有するためのプラットフォームです。このリポジトリでは、(1) Python 関数を使用して簡単にプラグインを構築することができ、(2) 外部の ChatGPT-Plugins を使用することができます。
二、BMTools の特徴#
ChatGPT Plugins は、OpenAI が導入したテスト機能であり、ChatGPT をネットワークに接続し、数学的な計算を解決することができるようにするものであり、OpenAI の「App Store」とも呼ばれています。しかし、現在サポートされているツールの数は限られており、OpenAI Plus の一部のユーザーのみがサポートされているため、多くの開発者はまだ使用することができません。
BMToolsは、言語モデルに基づくオープンソースの拡張可能なツール学習プラットフォームであり、言語モデルを使用して特定の機能を実現するための拡張プラグインを呼び出すことができます。AutoGPT、BabyAGI、AgentGPT などの類似のツールもあります。
BMTools は、OpenAI の Plugins だけでなく、開発者が独自のツールライブラリを拡張することも可能です。開発者は、簡単な Python プログラムを書くだけで新しいプラグイン機能を簡単に構築することができます。また、AutoGPT などの他のソースからの外部ツールを統合することもできます。
三、BMTools の原理#
前述の特徴からわかるように、BMTools は単に ChatGPT が他の API インターフェースを呼び出す自動化ツールではなく、オープンなプラットフォームであり、これらの Agent ツールと Plugin 拡張を統合し、統一的なスケジューリングを行います。
基本モデルは、さまざまな専門ツールを呼び出す能力を持つ必要があり、これにより、現実の世界のタスクをより包括的にサポートすることができます。基本モデルと専門ツールを組み合わせて、より強力で効率的なソリューションを共同で作成する方法についての問題が BMTools の誕生を促しました。
論文「Tool Learning with Foundation Models」の研究概要によると、ツール学習とは、モデルがさまざまなツールを理解し使用してタスクを完了するための学習プロセスを指します。学習目標の観点から見ると、既存のツール学習は主に 2 つのカテゴリに分けることができます:
- ** ツール増強学習(Tool-augmented Learning)** は、さまざまなツールの実行結果を利用して基本モデルのパフォーマンスを向上させるものです。このパラダイムでは、ツールの実行結果は、高品質な出力を生成するための外部リソースとして扱われます。
- ** ツール指向学習(Tool-oriented Learning)** は、学習プロセスの重点をモデルのパフォーマンス向上からツールの実行自体に移すものです。この研究は、人間の制御を代替し、シーケンスの意思決定を行うモデルの開発に焦点を当てています。
上記の 2 つの方法の主な違いは、学習プロセスの重点であり、基本モデルをツールの実行によって強化する(ツールが AI サービスとして機能する)か、基本モデルを使用してツールの使用を最適化する(AI がツールとして機能する)かです。このレビューでは、これら 2 つの方法を統一するツール学習フレームワークが提案されています。
論文の研究では、基本モデルのツール学習フレームワークが提案されています。この一般的なツール学習フレームワークには、人間のユーザーと4 つの主要な構成要素:ツールセット、コントローラ、パーセプタ、環境が含まれます。
ここでのツールセットは、現在の ChatGPT を中心としたさまざまな拡張プラグインを指します。たとえば、Google 検索 API の呼び出し、天気 API の呼び出し、デリバリー API の呼び出しなどが含まれますが、これはその一部に過ぎません。コントローラは、ユーザーの指示をモデルが実行可能なコマンドに翻訳するコントローラです。指示を翻訳するためには、異なる翻訳戦略が存在するため、AutoGPT や AgentGPT のような異なる戦略があります。
その他の部分については詳しく分析しませんが、単純な原理を理解し、カスタマイズを試すだけであれば、これら 2 つのコンポーネントの機能を理解するだけで十分です。これら 2 つのコンポーネントは、現在利用可能なさまざまな自動化ツールを統一しています:異なるコントロール戦略を選択し、AutoGPT や BabyAGI をコントローラとして使用し、ユーザーの指示を実行可能なコマンドに変換してツールセットに渡し、ChatGPT プラグインや他の API などを実行することで環境が変化し、パーセプタがこれらの変化をキャプチャし、情報をコントローラにフィードバックし、新しいラウンドのツール実行が行われます。人間はフィードバックを提供してコントローラの意思決定を修正または支援することもできます。複数のツール実行を経て、ユーザーの要求を実現します。最後に、コントローラはツールからの情報をまとめてユーザーに提供することができます。
四、まとめ#
BMTools の構築は難しくありませんし、公式で試用デモやさまざまな拡張プラグインも提供されており、AutoGPT や BabyAGI にも対応しています。テスト効果はツールの豊富さによって異なります。
現在、このプロジェクトは研究概要で提案されたフレームワークの実験的なツールにすぎませんが、OpenAI Plugin の申請を待つ必要はありませんし、直接的に Plugin をサポートしており、カスタムプラグインや AutoGPT の制御戦略などもサポートしていますので、期待することができます。
このような自動化エージェントの統一の欠点は、トークンの使用量が爆発することかもしれません😅。
最後に#
参考文献:
声明#
この文書は個人の学習記録として作成されました。
この文書はhblogと同期しています。