Allgemeine Einführung
Bambo ist ein neuartiges Proxy-Framework, das leichter und flexibler als herkömmliche Frameworks ist und eine breite Palette von Lastaufgaben bewältigen kann.Bambo erreicht eine effiziente Proxy-Funktionalität, indem es alle Werkzeuge im Werkzeugkatalog definiert und asynchrone benutzerdefinierte Funktionen verwendet. Die Benutzer können die Modell- und Client-Parameter, die sie aufrufen müssen, in der Datei llm_client.py definieren und dann ihre eigenen Testskripte im Ordner examples erstellen.Das Ziel von Bambo ist es, eine effiziente und flexible Proxy-Lösung für eine Vielzahl von Anwendungsszenarien bereitzustellen.
Traditionelle Agent Rahmen jede Rolle ist ein unabhängiger Agent, die Notwendigkeit für einen "Supervisor", um die Arbeit zu koordinieren, Rollenwechsel durch eine komplexe Handover-Prozess zu gehen, ist die Anzahl der LLM Anrufe relativ hoch, was zu einer schlechten Reaktionsgeschwindigkeit und Glätte.
Bambo löst dieses Problem durch Rollenspiele. Basierend auf Bambo ist ein ähnlicher Effekt von notebooklm implementiert. Der Effekt enthält kein TTS, so dass Sie bei Bedarf den entsprechenden Code in das Testskript einfügen können.
Funktionsliste
- Leichtes und flexibles Proxy-Framework
- Handhabung einer Vielzahl von Lasten
- Unterstützung für asynchrone benutzerdefinierte Funktionen
- Definieren und Aufrufen der erforderlichen Modell- und Client-Parameter
- Erstellung und Ausführung von Testskripten
- Unterstützung von Szenarien mit mehreren Charakteren
- Funktionen zur Codeausführung und -analyse
Hilfe verwenden
Einbauverfahren
- Klon-Lagerhaus:
git clone https://github.com/LB-Young/Bambo.git cd Bambo
- Installieren Sie die Abhängigkeit:
pip install -r requirements.txt
- Installieren Sie PyTorch manuell (falls erforderlich):
pip3 install torch torchvision torchaudio
Einrichtung und Konfiguration
- Definieren Sie alle Werkzeuge im Werkzeugkatalog und stellen Sie sicher, dass die benutzerdefinierten Funktionen asynchron sind.
- Definieren Sie die Modell- und Client-Parameter für die erforderlichen Aufrufe in der Datei llm_client.py.
- Erstellen Sie Ihre eigenen Testskripte im Ordner examples, indem Sie die erforderlichen Rollen und Werkzeuge definieren.
- Initialisieren Sie das Bambo-Objekt und geben Sie die erforderlichen Parameter ein:
from src.bambo import Bambo from src.llm_client import client, model from src.tools.code_execute import code_execute roles = { "finance_expert": "金融专家", "law_expert": "法律专家", "medical_expert": "医疗专家", "computer_expert": "计算机专家", } tools = {} bambo = Bambo(client=client, bambo_role=None, roles=roles, tools=tools, agents=None, model=model) query = "我是高考生,现在想要选专业,但是不知道选什么专业。请你介绍一下金融、法律和计算机三个专业分别有什么优点和缺点。" async for item in bambo.execute(query=query): print(item, end="", flush=True)
Bambo verwenden
- Führen Sie die Bambo-Schnittstelle aus:
python examples/notebooklm.py
- oder den Agenten im Hintergrund laufen lassen:
nohup python examples/multi_roles.py &> multi_roles.log &
- Das interaktive Menü führt Sie durch die folgenden Optionen:
- Trainingsdatensatz erstellen/aktualisieren
- Ausbildungsmodelle
- Laufende Agenten
- Den gesamten Arbeitsablauf ausführen
- Abbrechen
konfigurieren.
Bearbeiten Sie die Datei config.py, um sie anzupassen:
- Auswahl des Modells
- Training von Hyperparametern
- Proxy-Einstellungen
- Reaktionsfähige Vorlagen
- Aufgaben-Filterung
Bambo bietet eine Vielzahl von Möglichkeiten, die bearbeiteten Aufgaben zu filtern:
- Etikettierung (automatisch)
- Schwarze Liste (manuell)