CoAgents ist ein innovatives Multi-Intelligenz-Kollaborations-Framework, das entwickelt wurde, um die Fähigkeit von Large Language Models (LLMs) zu verbessern, externe Tools und APIs zu nutzen. Die Kernidee des Frameworks besteht darin, komplexe Aufgaben der Werkzeugnutzung in drei spezialisierte Intelligenzen zu zerlegen: den Grounding Agent, der für die Generierung von Werkzeugnutzungsanweisungen zuständig ist, den Execution Agent, der für die Durchführung spezifischer Werkzeugoperationen verantwortlich ist, und den Execution Agent, der für das Abrufen von Ergebnissen aus Werkzeugen zuständig ist. "Sie sind: der Grounding Agent, der für die Erstellung von Anweisungen für die Nutzung des Werkzeugs zuständig ist, der Execution Agent, der für die Durchführung bestimmter Werkzeugoperationen verantwortlich ist, und der Observing Agent, der für die Extraktion von Schlüsselinformationen aus den vom Werkzeug gelieferten Ergebnissen verantwortlich ist. Diese drei Intelligenzen interagieren und arbeiten zusammen, um eine vollständige Feedbackschleife zu bilden. Wenn die Werkzeugumgebung Fehler oder Rückmeldungen liefert, sind der Ausführungsagent und der Beobachtungsagent in der Lage, sich iterativ anzupassen und selbst zu korrigieren, so dass das Modell lernt, wie es das Werkzeug genauer und effizienter einsetzen kann, um die Aufgabe zu erledigen. Der Implementierungscode für dieses Projekt steht auf GitHub zur Verfügung, und eine auf der TMDB (The Movie Database) API basierende Demo hilft den Benutzern beim Verständnis und bei der Anwendung.
Funktionsliste
- Ein Rahmen für die Zusammenarbeit zwischen mehreren IntelligenzenDie innovative Nutzung von drei verschiedenen Intelligenzen (Grundlage, Ausführung und Beobachtung), die zusammenarbeiten, um den Prozess der Werkzeugnutzung in drei Schritte zu unterteilen: Erstellung von Anweisungen, Ausführung und Ergebnisanalyse.
- Iteratives Lernen und AnpassungWenn ein Werkzeug fehlerhaft oder mit unbefriedigenden Ergebnissen ausgeführt wird, kann der Rahmen Rückmeldungen aus der Umgebung erhalten und die Ausführungs- und Beobachtungsagenten dazu veranlassen, sich anzupassen und zu optimieren.
- Generierung von WerkzeugbefehlenGrounding Agent: Der Grounding Agent ist dafür verantwortlich, die Absicht des Benutzers zu verstehen und sie in spezifische, ausführbare Anweisungen für die Verwendung des Tools zu übersetzen.
- Implementierung des Tools und Extraktion der ErgebnisseDer Execution Agent ruft das angegebene Tool oder API auf, während der Observing Agent wertvolle Informationen aus den zurückgegebenen Rohdaten extrahiert.
- Unterstützung für OpenAI-ModelleDas Framework integriert sich in die API von OpenAI und kann vom Benutzer so konfiguriert werden, dass es die
gpt-3.5-turbo
und andere multiple Modelle als treibender Kern der Intelligenzen. - API-Schlüssel-RotationUnterstützung für das Hinzufügen mehrerer OpenAI-API-Schlüssel zu einer Konfiguration und deren Abfrage über eine Zufallsauswahlpolitik, um die Ratenbegrenzung eines einzelnen Schlüssels zu umgehen.
- Benutzerdefinierte API-EndpunkteBenutzer können die Anfrageadresse (Basis-URL) der Open-AI-API flexibel konfigurieren, um den Zugang zu LLM-Diensten von Drittanbietern oder selbst erstellten Diensten zu erleichtern.
- TMDB-Demo-FallEin vollständiges Demo-Skript, das auf der API der TMDB-Filmdatenbank basiert, wird bereitgestellt.
run_tmdb.py
zeigt, wie intelligente Körper zusammenarbeiten können, um Informationen über einen Film zu finden.
Hilfe verwenden
CoAgents ist ein experimentelles, auf Python basierendes Framework, mit dem untersucht werden soll, wie große Sprachmodelle besser lernen können, Werkzeuge zu benutzen. Im folgenden Abschnitt wird beschrieben, wie man das Projekt konfiguriert und ausführt.
1. ökologische Vorbereitung und Installation
Zunächst benötigen Sie eine Umgebung, in der Python installiert ist. Dann führen Sie Python über denpip
installiert die wichtigsten Bibliotheken, die für das Projekt erforderlich sind. Diese Bibliotheken stellen die grundlegenden Fähigkeiten für das Framework bereit, wie zum Beispiel dielangchain
für die Entwicklung von Anwendungen für intelligente Körper.openai
für die Interaktion mit großen Sprachmodellen.
Öffnen Sie Ihr Terminal (Befehlszeilentool) und führen Sie den folgenden Befehl aus:
pip install langchain==0.0.338 openai==1.7.1 tiktoken==0.5.1 colorama==0.4.6
Hinweis: Obwohl die offizielle Dokumentation vorschlägtlangchain
ausnutzen0.0.338
Version, ist aber auch mit neueren Versionen kompatibel.
2. den API-Schlüssel abrufen und konfigurieren
CoAgents stützt sich für seinen Betrieb auf zwei Arten von externen APIs:OpenAI-API im Gesang antworten TMDB-API.
OpenAI-API-Schlüssel konfigurieren
- Sie benötigen einen oder mehrere OpenAI-API-Schlüssel.
- Suchen und öffnen Sie im Stammverzeichnis des Projekts die Datei
./utilize/apis.py
. - In dieser Datei finden Sie eine Datei namens
api_keys_list
Die Python-Liste. Fügen Sie Ihre OpenAI-Schlüsselzeichenfolge zu dieser Liste hinzu.# 文件路径:./utilize/apis.py api_keys_list = [ 'sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', # 在这里替换成你的第一个API密钥 'sk-yyyyyyyyyyyyyyyyyyyyyyyyyyyyyy', # 如果有多个,可以继续添加 ]
Der Rahmen ist mit einem cleveren Mechanismus ausgestattet: Bei jeder Anfrage wird ein Schlüssel zufällig aus der Liste ausgewählt. Dadurch wird der Anfragedruck effektiv verteilt und Programmunterbrechungen aufgrund des Erreichens der Häufigkeitsgrenze eines einzelnen Schlüssels werden vermieden.
- Wenn Sie einen Proxy-Dienst eines Drittanbieters oder einen selbst erstellten LLM-Dienst verwenden, können Sie die
BASE_URL
um die Adresse der API-Anforderung anzugeben. Wenn die offizielle API verwendet wird, ist keine Änderung erforderlich.# 文件路径:./utilize/apis.py BASE_URL = 'https://api.openai.com/v1' # 如果需要,可修改为你的代理地址
Konfigurieren von TMDB-API-Zugangs-Tokens
- Besuchen Sie die offizielle Website von TMDB (The Movie Database) und registrieren Sie ein Konto.
- Beantragen Sie ein API-Zugangs-Token (Access Token) gemäß den TMDB-Richtlinien.
- Im Stammverzeichnis des CoAgents-Projekts wird dieEine neue Datei manuell erstellenund nennen Sie es
access_token.txt
. - Fügen Sie das TMDB-Zugangs-Token, das Sie erhalten haben, in diese neu erstellte Datei ein und speichern Sie sie.
3. die Durchführung des Demonstrationsprogramms
Wenn Sie alle oben genannten Schritte durchgeführt haben, können Sie die mit dem Projekt gelieferte Demoanwendung ausführen.run_tmdb.py
auf. In diesem Programm wird gezeigt, wie CoAgents die TMDB-API zur Abfrage von Filmdaten verwendet.
Öffnen Sie ein Terminal, wechseln Sie in das Stammverzeichnis des Projekts und führen Sie den folgenden Befehl aus:
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'
Die Bedeutung der einzelnen Befehlszeilenparameter wird im Folgenden ausführlich erläutert:
model_name
Intelligenz: Gibt das große Sprachmodell an, das die Intelligenzen steuert. Standardmäßig ist esgpt-3.5-turbo
können Sie sie im Code nach Bedarf anpassen.log_file
Geben Sie einen Dateipfad für die Protokollierung der Interaktionen zwischen den Intelligenzen während der Ausführung des Programms an. Dies ist für die Fehlersuche und Analyse nützlich.data_file
Angabe der Dataset-Datei, die die Aufgabendaten enthält. Sie müssen eine Datendatei bereitstellen, die den Formatanforderungen entspricht und die abzufragenden Aufgabenanweisungen enthält.access_token_file
Pfad zu der Datei angeben, in der das TMDB-Zugangs-Token gespeichert ist. Hier verweisen wir auf die gerade erstellteaccess_token.txt
.
Nach der Ausführung dieses Befehls nimmt das CoAgents-Framework seine Arbeit auf. Der Basis-Agent erstellt einen Werkzeugnutzungsplan auf der Grundlage der Aufgaben im Datensatz, der ausführende Agent ruft die TMDB-API auf, und der beobachtende Agent extrahiert die erforderlichen Informationen aus den zurückgegebenen JSON-Daten, um schließlich die Abfrageaufgabe abzuschließen und die Ergebnisse auszugeben. Detaillierte Protokolle des gesamten Prozesses werden in den von Ihnen angegebenenlog_file.json
Dokumentation.
Anwendungsszenario
- Intelligente API-Aufrufe
In Szenarien, in denen Sie mit komplexen externen APIs (z. B. soziale Medien, Wetter, Finanzdaten usw.) interagieren müssen, können CoAgents automatisch lernen, wie man Anfragen erstellt, sie sendet und wichtige Informationen aus den zurückgegebenen Daten extrahiert, ohne dass Entwickler für jede API einen festen Parsing-Code schreiben müssen. - Automatisierte Datenabfrage und -analyse
Benutzer können eine Abfrage in natürlicher Sprache stellen (z. B. "Helfen Sie mir, die fünf am höchsten bewerteten Sci-Fi-Filme zu finden, die im Jahr 2023 veröffentlicht werden"), und CoAgents ist in der Lage, die Anfrage zu zerlegen, die Abfrage durch den Aufruf von Datenbankabfragetools (z. B. die TMDB-API) auszuführen und die Ergebnisse zu konsolidieren, um eine genaue Antwort zu geben. . - Demontage und Ausführung komplexer Aufgaben
Bei komplexen Aufgaben, die mehrere Schritte und Tools erfordern, wie z. B. "Planung einer Reise von Peking nach Shanghai unter Berücksichtigung von Wetter, Transport und Unterkunft", kann das Collaboration Framework von CoAgents die Aufgabe in Teilaufgaben wie Wetterabfrage, Flugbuchung, Hotelabfrage usw. aufteilen und die entsprechenden Tools nacheinander aufrufen, um abzuschließen. - Automatisierung von Software- oder Systemabläufen
CoAgents können lernen, Software oder Betriebssysteme mit API-Schnittstellen zu bedienen. Indem er beispielsweise die Dateisystem-API erlernt, kann er das Erstellen, Verschieben und Löschen von Dateien ermöglichen; indem er die Kalender-API erlernt, kann er Nutzern helfen, automatisch Besprechungen zu planen.
QA
- Welche Kernintelligenzen enthält der CoAgents-Rahmen? Was sind ihre jeweiligen Aufgaben?
Der CoAgents-Rahmen enthält drei Kernintelligenzen:- ErdungsmittelDie Hauptaufgabe besteht darin, die Aufgabenanforderungen des Benutzers zu verstehen und detaillierte Anweisungen oder Pläne für die Verwendung eines bestimmten Werkzeugs zu erstellen.
- VollstreckungsorganVerantwortlich für den tatsächlichen Aufruf und die Ausführung des entsprechenden Tools oder der API auf der Grundlage der vom Basisagenten generierten Anweisungen.
- Beobachtender AgentNach der Ausführung des Tools ist es für die Analyse der zurückgegebenen Ergebnisse (in der Regel JSON oder Text) verantwortlich und extrahiert daraus wichtige Informationen, die für den Benutzer nützlich sind.
- Was macht CoAgents, wenn das Tool nicht ausgeführt werden kann?
Dies ist eine der Hauptstärken des CoAgents-Rahmens. Wenn ein Ausführungsagent nach dem Aufruf eines Werkzeugs eine Fehlerrückmeldung erhält (z. B. wenn die API einen Fehlercode zurückgibt), wird diese Rückmeldung vom System aufgezeichnet. Die Ausführungs- und Beobachtungsagenten passen sich iterativ an diese Rückmeldung an. Sie versuchen, die Anfrageparameter zu korrigieren oder die Richtlinie zu ändern, und versuchen dann erneut, die Anfrage auszuführen, wodurch ein selbstkorrigierender Lernprozess ermöglicht wird. - Welche API-Schlüssel muss ich vor der Durchführung eines CoAgents-Projekts vorbereiten?
Sie müssen zwei Arten von API-Anmeldeinformationen vorbereiten:- OpenAI API-Schlüssel:: Wird verwendet, um die Denk- und Entscheidungsfähigkeiten von Intelligenzen (Agenten) zur Unterstützung der
gpt-3.5-turbo
und andere Modelle. - TMDB-API-Zugangs-TokenThe Movie Database API: Die The Movie Database API, die für den Zugriff auf die The Movie Database verwendet wird, die im Demo-Fall des Projekts verwendet wird.
- OpenAI API-Schlüssel:: Wird verwendet, um die Denk- und Entscheidungsfähigkeiten von Intelligenzen (Agenten) zur Unterstützung der
- Kann ich neue Werkzeuge ersetzen oder hinzufügen?
Ja. CoAgents ist ein Rahmenwerk, das von Natur aus für den einfachen Zugang und die Verwendung von Werkzeugen konzipiert ist. Während der Demo-Fall die TMDB-API verwendet, können Entwickler den Code erweitern, um neue Werkzeuge zu definieren und sie für Intelligenzen verfügbar zu machen. Der Basis-Agent muss lediglich lernen, Anweisungen zur Verwendung des neuen Werkzeugs zu generieren, und der beobachtende Agent muss lernen, die Ergebnisse des neuen Werkzeugs zu analysieren.