はじめに
Bamboは新しいタイプのプロキシフレームワークで、主流のフレームワークよりも軽量で柔軟性があり、幅広い負荷タスクを処理することができます。Bamboは、ツールカタログにすべてのツールを定義し、非同期のカスタム関数を使用することで、効率的なプロキシ機能を実現します。ユーザーはllm_client.pyファイルで呼び出す必要のあるモデルとクライアントパラメータを定義し、examplesフォルダで独自のテストスクリプトを作成することができます。Bamboの目標は、様々なアプリケーションシナリオのための効率的で柔軟なプロキシソリューションを提供することです。
伝統的なエージェントのフレームワークは、各ロールが独立したエージェントであり、仕事を調整するための "スーパーバイザー "の必要性、複雑なハンドオーバープロセスを通過する役割の切り替えは、LLMの呼び出しの数が比較的多く、応答速度と滑らかさの悪い結果になります。
Bamboはこの問題をロールプレイで解決する。Bamboをベースに、notebooklmの同様のエフェクトが実装されています。 このエフェクトにはTTSは含まれていませんので、必要に応じてテストスクリプトに対応するコードを追加してください。
機能一覧
- 軽量で柔軟なプロキシフレームワーク
- 様々な荷物を扱う
- 非同期カスタム関数のサポート
- 必要なモデルとクライアントのパラメータを定義し、呼び出す。
- テストスクリプトの作成と実行
- マルチキャラクターシナリオのサポート
- コード実行・解析機能
ヘルプの使用
設置プロセス
- クローン倉庫
git clone https://github.com/LB-Young/Bambo.git cd バンボ
- 依存関係をインストールします:
pip install -r requirements.txt
- PyTorchを手動でインストールする(必要な場合):
pip3 install torch torchvision torchaudio
セットアップと設定
- ツールカタログですべてのツールを定義し、カスタム関数が非同期であることを確認する。
- llm_client.pyファイルで、必要な呼び出しのモデルとクライアントパラメータを定義します。
- 必要な役割とツールを定義して、examples フォルダに独自のテストスクリプトを作成します。
- Bamboオブジェクトを初期化し、必要なパラメータを渡す:
from src.bambo import Bambo from src.llm_client import client, model from src.tools.code_execute import code_execute ロール = { "finance_expert": "finance_expert", "law_expert". 「computer_expert": "computer_expert"、 } tools = {}である。 bambo = Bambo(client=client, bambo_role=None, roles=roles, tools=tools, agents=None, model=model) query = "私は高校生で、今専攻を選びたいと思っています。金融、法律、コンピュータサイエンスの3つの専攻について、それぞれのメリットとデメリットを教えてください。" async for item in bambo.execute(query=query). print(item, end="", flush=True)
バンボの使用
- バンボインターフェースを実行する:
python examples/notebooklm.py
- またはバックグラウンドでエージェントを実行する:
nohup python examples/multi_roles.py &> multi_roles.log &> multi_roles.log &> multi_roles.log &> multi_roles.log
- インタラクティブなメニューは、以下のオプションを案内します:
- トレーニングデータセットの作成/更新
- トレーニングモデル
- ランニング・エージェント
- 完全なワークフローの実行
- アボート
コンフィグ
config.py を編集してカスタマイズします:
- モデルの選択
- トレーニングハイパーパラメータ
- プロキシ設定
- レスポンシブテンプレート
- タスクフィルタリング
バンボは、処理するタスクをフィルタリングするさまざまな方法を提供する:
- ラベリング(自動)
- ブラックリスト(手動)