AgentVerse ist ein Open-Source-Projekt, das Benutzern helfen soll, schnell multi-intelligente Körpersysteme auf der Grundlage des Large Language Model (LLM) einzusetzen. Es bietet zwei zentrale Rahmenwerke: Aufgabenlösung und Simulationsumgebung. Task Resolution Framework durch die Zusammenarbeit von mehreren Intelligenzen, um automatisch komplexe Aufgaben, wie z. B. Software-Entwicklung oder Beratungsdienstleistungen zu erledigen. Das Simulations-Framework ermöglicht es Nutzern, benutzerdefinierte Umgebungen für die Beobachtung oder Interaktion mit mehreren Intelligenzen zu erstellen, die sich für Spiele oder die Erforschung des Sozialverhaltens eignen. agentVerse unterstützt die wichtigsten LLMs (z. B. GPT-3.5 und LLaMA) und bietet sowohl Befehlszeilen- als auch grafische Schnittstellen. Das vom OpenBMB-Team entwickelte Projekt wurde auf der ICLR 2024 vorgestellt und wird laufend aktualisiert, um zusätzliche Funktionen wie die Integration lokaler Modelle und die Verwendung von Tools zu unterstützen.
Funktionsliste
- MultitaskingUnterstützung mehrerer Intelligenzen zur Zusammenarbeit bei Aufgaben wie Softwareentwicklung, Datenanalyse oder Beratungssystemen.
- Einrichtung der SimulationsumgebungErmöglicht es Benutzern, benutzerdefinierte Szenarien zu erstellen, um das Verhalten intelligenter Körper zu beobachten oder mit ihnen zu interagieren; geeignet für Spiele oder Sozialforschung.
- Unterstützung der wichtigsten SprachmodelleKompatibel mit OpenAI API, Azure OpenAI und nativen Modellen (z.B. LLaMA, Vicuna).
- Befehlszeile und grafische SchnittstelleDie CLI und die GUI bieten zwei Betriebsmodi, die den Benutzern einen schnellen Einstieg ermöglichen.
- WerkzeugintegrationUnterstützung von Intelligenzen bei der Verwendung externer Tools (z. B. Webbrowser, Jupyter Notebook) zur Erledigung komplexer Aufgaben.
- Open Source und erweiterbarDer Code ist vollständig quelloffen, Benutzer können die Funktion je nach Bedarf ändern oder erweitern.
- Umfangreiche Beispiele und DokumentationDas Programm bietet eine Vielzahl von Demo-Beispielen, wie z.B. NLP-Klassen, Prisoner's Dilemma und Software-Design, für einfaches Lernen und Anwenden.
Hilfe verwenden
Einbauverfahren
AgentVerse unterstützt Python 3.9 und höher, und es wird empfohlen, es manuell zu installieren, um die neuesten Funktionen zu erhalten. Nachfolgend finden Sie die detaillierten Installationsschritte:
- Klonen der Codebasis::
Klonen Sie die AgentVerse-Codebasis lokal mit Git:git clone https://github.com/OpenBMB/AgentVerse.git --depth 1 cd AgentVerse
- Installation von Abhängigkeiten::
Führen Sie den folgenden Befehl im Projektverzeichnis aus, um die Kernabhängigkeiten zu installieren:pip install -e .
Wenn Sie ein lokales Modell (z. B. LLaMA) verwenden müssen, installieren Sie zusätzlich die folgenden Abhängigkeiten:
pip install -r requirements_local.txt
- Installation über pip(fakultativ):
Wenn Sie die Codebasis nicht klonen wollen, können Sie sie direkt über pip installieren:pip install -U agentverse
- Umgebungsvariablen konfigurieren::
Benutzer, die die OpenAI-API verwenden, müssen den API-Schlüssel festlegen:export OPENAI_API_KEY="your_api_key_here"
Wenn Sie den Azure OpenAI-Dienst verwenden, sind zusätzliche Einstellungen erforderlich:
export AZURE_OPENAI_API_KEY="your_api_key_here" export AZURE_OPENAI_API_BASE="your_api_base_here"
- Werkzeughalterung (optional)::
Wenn Sie einen Simulationsfall mit Werkzeugen (wie demnlp_classroom_3players_withtool
), müssen Sie BMTools installieren:git clone git+https://github.com/OpenBMB/BMTools.git cd BMTools pip install -r requirements.txt python setup.py develop
- vLLM-Unterstützung (optional)::
Um vLLM für umfangreiche Inferenzaufgaben zu verwenden, müssen Sie den vLLM-Server installieren und starten und dann die Umgebungsvariablen setzen:export VLLM_API_KEY="your_api_key_here" export VLLM_API_BASE="http://your_vllm_url_here"
Ändern Sie z. B. die Modelleinstellungen im Aufgabenprofil:
model_type: vllm model: llama-2-7b-chat-hf
- FSChat-Unterstützung (lokale Modelle)::
Wenn Sie ein lokales Modell (z. B. LLaMA) verwenden, müssen Sie die FSChat-Abhängigkeit installieren und den lokalen Server starten:pip install -r requirements_local.txt bash scripts/run_local_model_server.sh
Ändern Sie die Konfigurationsdatei des
llm_type
im Gesang antwortenmodel
Zum Beispiel:llm: llm_type: local model: llama-2-7b-chat-hf
Verwendung
AgentVerse bietet zwei wesentliche Rahmenwerke: Aufgabenlösung und Simulationsumgebungen. So funktioniert es:
1. der Rahmen für die Mandatsauflösung
Das Task Resolution Framework eignet sich für Szenarien, in denen mehrere Intelligenzen bei komplexen Aufgaben zusammenarbeiten müssen. Benutzer können voreingestellte oder benutzerdefinierte Aufgaben über die Befehlszeile ausführen.
- Durchführung von Benchmark-Tests::
Testen Sie die Leistung von AgentVerse anhand des Humaneval-Datensatzes:agentverse-benchmark --task tasksolving/humaneval/gpt-3.5 --dataset_path data/humaneval/test.jsonl --overwrite
- Ausführung einer einzelnen Aufgabe::
Führen Sie eine voreingestellte Brainstorming-Aufgabe aus:agentverse-tasksolving --task tasksolving/brainstorming
- Aufgaben bei der Werkzeugverwendung::
Ausführen von Aufgaben mit Werkzeugen (z. B. Lösen eines 24-Punkte-Spiels):agentverse-tasksolving --task tasksolving/tool_using/24point
Stellen Sie sicher, dass der ToolServer für XAgent gestartet ist. Weitere Aufgaben zur Verwendung von Werkzeugen finden Sie in der
agentverse/tasks/tasksolving/tool_using/
Gefunden im Katalog.
2. die Rahmenbedingungen für die Modellierung
Der Simulationsrahmen eignet sich für die Untersuchung des Verhaltens von Intelligenzen oder die Erstellung von Interaktionsszenarien. Benutzer können Simulationen über die CLI oder die GUI ausführen.
- Befehlszeilenbetrieb::
Nehmen wir das Beispiel eines NLP-Klassenzimmers (9 Intelligenzen, darunter 1 Professor und 8 Studenten):agentverse-simulation --task simulation/nlp_classroom_9players
- Bedienung über eine grafische Benutzeroberfläche (GUI)::
Starten Sie den lokalen Webserver, um die Simulation zu visualisieren:agentverse-simulation-gui --task simulation/nlp_classroom_9players
Rufen Sie nach dem Start die
http://127.0.0.1:7860/
Betrachten Sie die Simulationsumgebung.
3. die Anpassung von Aufgaben und Umgebungen
Die Benutzer können die agentverse/tasks/
Eine Konfigurationsdatei in diesem Verzeichnis erstellt eine benutzerdefinierte Aufgabe oder Simulationsumgebung. Konfigurationsdateien sind in der Regel im YAML-Format und enthalten Informationen wie Modelltyp, Aufgabenbeschreibung und intelligente Körperrollen. Zum Beispielagentverse/tasks/tasksolving/commongen/llama-2-7b-chat-hf/config.yaml
ist ein vollständiges Beispiel für ein Aufgabenprofil.
Featured Function Bedienung
- Multi-Intelligenz-ZusammenarbeitIn einem Rahmen zur Aufgabenlösung arbeiten Intelligenzen zusammen, um Aufgaben auf der Grundlage einer Rollenteilung (z. B. Planer, Ausführender) zu erledigen. Bei einer Softwareentwicklungsaufgabe ist beispielsweise eine Intelligenz für die Anforderungsanalyse zuständig, eine andere generiert den Code, und die letzte führt die Tests durch.
- Einsatz der WerkzeugeIntelligentsia kann externe Tools (z. B. Bing Search, Jupyter Notebook) aufrufen, um komplexe Aufgaben zu bearbeiten. Bei der Aufgabe "24-Punkte-Spiel" verwendet die Intelligenz zum Beispiel Tools zur Berechnung mathematischer Ausdrücke.
- Analoge InteraktionIm Simulationsrahmen können die Benutzer Regeln für das Verhalten der Intelligenz aufstellen, ihren Entscheidungsprozess in bestimmten Szenarien (z. B. das Gefangenendilemma) beobachten oder über die grafische Benutzeroberfläche mit der Intelligenz interagieren.
Anwendungsszenario
- Software-Entwicklung
AgentVerse's Task Resolution Framework kann zur Automatisierung der Softwareentwicklung eingesetzt werden. Mehrere Intelligenzen arbeiten zusammen, wobei eine die Anforderungen analysiert, eine den Code generiert und die andere das Debugging und die Tests durchführt, um die Entwicklungseffizienz erheblich zu verbessern. - Bildungsforschung
Die NLP-Klassenzimmer-Szenarien im Simulationsrahmen können verwendet werden, um die Leistung eines großen Sprachmodells in einer Bildungsumgebung zu untersuchen. Die Benutzer können die Interaktion zwischen dem Professor und den Intelligenzen der Studenten beobachten und die Wirksamkeit des Unterrichts analysieren. - Forschung zum Sozialverhalten
Der Simulationsrahmen unterstützt die Erstellung von Szenarien wie dem Gefangenendilemma, um die Verhaltensmuster von Intelligenzen in wettbewerbsorientierten oder kooperativen Umgebungen zu untersuchen, und eignet sich für soziologische oder spieltheoretische Forschungen. - Spieleentwicklung
Das Simulationsframework ermöglicht es den Nutzern, interaktive Spielumgebungen zu schaffen (z. B. Pokemon-Demo), in denen Intelligenzen die Rolle von Charakteren übernehmen und mit den Spielern interagieren, was sich für das Prototyping von Spielen eignet.
QA
- Welche wichtigen Sprachmodelle werden von AgentVerse unterstützt?
AgentVerse unterstützt OpenAI APIs (z.B. GPT-3.5), Azure OpenAI und lokale Modelle (z.B. LLaMA, Vicuna). Die Benutzer müssen den entsprechenden API-Schlüssel oder lokalen Server konfigurieren. - Wie führe ich eine Aufgabe mit Werkzeugen aus?
Sie müssen zuerst BMTools oder den ToolServer von XAgent installieren und dann dieagentverse-tasksolving --task tasksolving/tool_using/24point
und andere Befehle. Stellen Sie sicher, dass der Tool-Server ordnungsgemäß funktioniert. - Wie wird auf die grafische Benutzeroberfläche der Simulationsumgebung zugegriffen?
in Bewegung seinagentverse-simulation-gui --task simulation/nlp_classroom_9players
Nach dem Besuch deshttp://127.0.0.1:7860/
Die grafische Oberfläche kann angezeigt werden. - Wie kann ich Code beitragen oder Feedback zu einem Problem geben?
Benutzer können über GitHub ein Problem oder einen Pull Request einreichen.PULL_REQUEST_TEMPLATE
Reichen Sie einen Code ein, oder kontaktieren Sie das AgentVerse-Team (agentverse2@gmail.com).