
Niedriges Code-Tool zum schnellen Erstellen und Koordinieren von Multi-Agent-Teams

Warnung
Dieses Projekt befindet sich derzeit unter starker Entwicklung. Bitte beachten Sie, dass signifikante Änderungen auftreten können.
Haben Sie das Sprichwort "Zwei Köpfe sind besser als eine" gehört? Das gilt auch für Agenten. Stamm nutzt das Langgraph -Framework, damit Sie die Teams von Agenten leicht anpassen und koordinieren können. Durch die Aufteilung harter Aufgaben zwischen Agenten, die in verschiedenen Dingen gut sind, kann sich jeder darauf konzentrieren, was es am besten kann. Dies macht die Lösung von Problemen schneller und besser.
Durch die Zusammenarbeit können Agenten komplexere Aufgaben übernehmen. Hier sind einige Beispiele für das, was sie gemeinsam tun können:
Und viele, viele mehr!
Stellen Sie vor dem Einsatz sicher, dass Sie mindestens die Werte für:
SECRET_KEYFIRST_SUPERUSER_PASSWORDPOSTGRES_PASSWORDSie können diese als Umgebungsvariablen aus Geheimnissen bestehen (und sollten).
Einige Umgebungsvariablen in der .env -Datei haben einen Standardwert von changethis .
Sie müssen sie mit einem geheimen Schlüssel ändern, um geheime Schlüssel zu generieren. Sie können den folgenden Befehl ausführen:
python -c " import secrets; print(secrets.token_urlsafe(32)) "Kopieren Sie den Inhalt und verwenden Sie diesen als Kennwort / geheimen Schlüssel. Und führen Sie das erneut aus, um einen weiteren sicheren Schlüssel zu generieren.
Steigen Sie auf und beginnen Sie innerhalb von Minuten auf Ihrer lokalen Maschine.
Stellen Sie Stamm auf Ihrem Remote -Server ein.
In einem sequentiellen Workflow sind Ihre Agenten in einer geordneten Reihenfolge angeordnet und führen Aufgaben nacheinander aus. Jede Aufgabe kann von der vorherigen Aufgabe abhängig sein. Dies ist nützlich, wenn Sie in einer deterministischen Reihenfolge nacheinander Aufgaben erledigen möchten.
Verwenden Sie dies, wenn:
In einem hierarchischen Workflow sind Ihre Agenten zu einer Team-ähnlichen Struktur organisiert, die aus "Teamleiter", "Teammitgliedern" und sogar anderen "Sub-Team-Führern" besteht. Der Teamleiter bricht die Aufgabe in kleinere Aufgaben aus und delegiert sie an seine Teammitglieder. Nachdem die Teammitglieder diese Aufgaben erledigt haben, werden ihre Antworten an den Teamleiter übergeben, der dann die Antwort an den Benutzer zurückgibt oder weitere Aufgaben delegiert.
Verwenden Sie dies, wenn:
Fähigkeiten sind Fähigkeiten, mit denen Sie Ihre Agenten ausrüsten können, um mit der Welt zu interagieren. Sie können Ihrem Agenten beispielsweise die Fähigkeit zur Verfügung stellen, die aktuelle Wetterbedingungen zu überprüfen oder das Web nach den neuesten Nachrichten zu suchen. Im Vergangenheit bietet Tribe drei Fähigkeiten:
Sie möchten wahrscheinlich benutzerdefinierte Fähigkeiten erstellen, die auf zwei Arten erfolgen können: Verwenden von Funktionsdefinitionen für einfache HTTP -Anforderungen oder durch das Schreiben von benutzerdefinierten Fähigkeiten in der Codebasis.
Wenn Ihre Fähigkeit eine HTTP -Anfrage zum Abholen oder Aktualisieren von Daten ausführt, ist die Verwendung von Skill -Definitionen der einfachste Ansatz. Beginnen Sie im Stamm mit der Registerkarte "Fähigkeiten" und klicken Sie auf die Schaltfläche "Fertigkeit hinzufügen". Sie werden dann aufgefordert, die Skill -Definition bereitzustellen, die Ihren Agenten anweist, wie die spezifischen Fähigkeiten ausgeführt werden können. Diese Definition sollte wie folgt strukturiert werden:
{
"url" : " https://example.com " ,
"method" : " GET " ,
"headers" : {},
"type" : " function " ,
"function" : {
"name" : " Your skill name " ,
"description" : " Your skill description " ,
"parameters" : {
"type" : " object " ,
"properties" : {
"param1" : {
"type" : " integer " ,
"description" : " Description of the first parameter "
},
"param2" : {
"type" : " string " ,
"enum" : [ " option1 " ],
"description" : " Description of the second parameter "
}
},
"required" : [ " param1 " , " param2 " ]
}
}
}| Schlüssel | Beschreibung |
|---|---|
url | Die Endpunkt -URL für den API -Anruf. |
method | Die für die Anforderung verwendete HTTP -Methode. Es kann GET , POST , PUT oder DELETE PATCH |
headers | Alle HTTP -Header, die in die Anfrage aufgenommen werden. |
function | Enthält Details zur Fähigkeit: |
function > name | Der Name der Fähigkeit. Befolgen Sie diese Regeln: Nur Buchstaben (AZ, AZ), Zahlen (0-9), Unterstriche (_) und Bindestrich (-) sind zulässig; muss zwischen 1 und 64 Zeichen lang sein. |
function > description | Beschreibt die Fähigkeit, den Agenten über seine Verwendung zu informieren. |
function > parameters | Details zu den Parametern, die die API akzeptiert. |
properties > param | Der Name des Abfrage- oder Körperparameters. Für GET -Methoden wird dies ein Abfrageparameter sein. Für POST , PUT , PATCH und DELETE befindet sich es in der Anfrage. |
param > type | Gibt den Typ des Parameters an, der string , number , integer oder boolean sein kann. |
param > description | Bietet Kontext über den Zweck des Parameters. |
param > enum | Fügen Sie optional ein Array hinzu, um den Agenten aus vordefinierten Werten zu beschränken. |
parameters > required | Listet die erforderlichen Parameter auf, um sicherzustellen, dass sie immer in der API -Anfrage enthalten sind. |
Für kompliziertere Aufgaben, die über einfache HTTP -Anforderungen hinausgehen, können Sie mit Langchain fortschrittlichere Tools entwickeln. Sie können diese Tools in Stamm integrieren, indem Sie sie zum managed_skills -Wörterbuch hinzufügen. Für ein praktisches Beispiel finden Sie im Demo -Taschenrechner -Tool. Um zu erfahren, wie Sie ein Langchain -Tool erstellen, wenden Sie sich bitte an die Dokumentation.
Starten Sie nach dem Erstellen eines neuen Tools die Anwendung neu, um sicherzustellen, dass das Tool ordnungsgemäß in die Datenbank geladen wird. Wenn Sie ein Tool entfernen müssen, löschen Sie es einfach aus dem Wörterbuch managed_skills und starten Sie die Anwendung neu, um sicherzustellen, dass sie aus der Datenbank entfernt wird. Beachten Sie, dass auf diese Weise erstellte Tools allen Benutzern in Ihrer Anwendung verfügbar sind.
Rag ist eine Technik, um das Wissen Ihrer Agenten mit zusätzlichen Daten zu erweitern. Agenten können über eine breite Palette von Themen argumentieren, aber ihr Wissen beschränkt sich auf öffentliche Daten bis zu dem Zeitpunkt, an dem sie geschult wurden. Wenn Sie möchten, dass Ihre Agenten über private Daten argumentieren, können Sie mit Tribe Ihre Daten hochladen und auswählen, welche Daten in die Wissensbasis Ihres Agenten aufgenommen werden sollen. Dies ermöglicht Ihren Agenten, mit den ausgewählten Daten zu argumentieren, und ermöglicht es Ihnen, verschiedene Agenten mit spezialisiertem Wissen zu erstellen.
Standardmäßig verwendet Tribe BAAI/bge-small-en-v1.5 , ein leichter und schnelles englisches Einbettungsmodell, das besser ist als OpenAI Ada-002 . Wenn Ihre Dokumente mehrsprachig sind oder eine Bildeinbettung erfordern, möchten Sie möglicherweise ein anderes Einbettungsmodell verwenden. Sie können dies problemlos tun, indem Sie DENSE_EMBEDDING_MODEL in Ihrer .env -Datei ändern:
# See the list of supported models: https://qdrant.github.io/fastembed/examples/Supported_Models/
DENSE_EMBEDDING_MODEL=BAAI/bge-small-en-v1.5 # Change this Warnung
Wenn Ihre vorhandenen und neuen Einbettungsmodelle unterschiedliche Vektorabmessungen haben, müssen Sie möglicherweise Ihre QDRant -Sammlung nachbilden. Sie können die Sammlung über das QDrant -Dashboard unter http: //qdrant.localhost/dashboard löschen. Daher ist es besser, im Voraus zu planen, welches Einbettungsmodell für Ihre Workflows am besten geeignet ist.
Open -Source -Modelle werden immer billiger und leichter zu betreiben, und einige entsprechen sogar der Leistung geschlossener Modelle. Möglicherweise verwenden Sie sie für ihre Privatsphäre und Kostenvorteile. Wenn Sie Stamm vor Ort ausführen und Open -Source -Modelle verwenden möchten, würde ich Ollama für die Benutzerfreundlichkeit empfehlen.
ollama .llama3.1:8b ) in das Modelleingangsfeld ein.http://host.docker.internal:11434 ausgeführt, die https://localhost:11434 ordnet. Mit diesem Setup kann Tribe mit dem Standard -Ollama -Host kommunizieren. Wenn Ihr Setup einen anderen Host verwendet, geben Sie den neuen Host im Eingangsfeld der Basis -URL an. Es gibt Hunderte von Open -Source -Modellen in Ollamas Bibliothek, die für verschiedene Aufgaben geeignet sind. Hier erfahren Sie, wie Sie die richtige für Ihren Anwendungsfall auswählen:
Llama3.1 , Mistral Nemo , Firefunction V2 oder Command-R + und andere, die Toolanrufe unterstützen.gemma2 oder phi3 in Betracht ziehen. Wenn Sie nicht vorhaben, Ollama zu verwenden, können Sie weiterhin Open -Source -Modelle ausführen, die mit der OpenAI -Chat -API -API kompatibel sind.
Schritte:
Melden Sie sich im Stamm mit der E -Mail und dem Passwort an, die Sie während des Installationsschritts festgelegt haben.

Navigieren Sie zur Seite "Teams" und klicken Sie auf "Team hinzufügen". Geben Sie einen Namen für Ihr Team ein und klicken Sie auf "Speichern".

Erstellen Sie zwei zusätzliche Teammitglieder, indem Sie den Griff des Teamleiterknotens ziehen.

Aktualisieren Sie das erste Teammitglied wie gezeigt.

Aktualisieren Sie das zweite Teammitglied wie gezeigt.

Gehen Sie zur Registerkarte "Chat" und senden Sie eine Frage an Ihr Team, um zu sehen, wie sie reagieren.

Glückwunsch! Sie haben erfolgreich mit Ihrem ersten Multi-Agent-Team im Stamm gebaut und kommuniziert.
Ihr Teammitglied kann mehr tun, indem Sie es mit einer Reihe von Fähigkeiten vermitteln. Fügen Sie Ihrem Feinschmecker eine Fähigkeit hinzu.

Wenn Sie Ihrem Feinschmecker eine Frage stellen, wird das Web nach mehr aktuellen Informationen durchsucht!

Erstellen Sie ein neues Team und wählen Sie den "sequentiellen" Workflow.

Drag and Drop, um ein anderes Teammitglied unter 'Worker0' zu erstellen.

Aktualisieren Sie das erste Teammitglied wie gezeigt. Bereitstellen Sie diesem Teammitglied die Fähigkeit "Wikipedia".

Aktualisieren Sie das zweite Teammitglied wie gezeigt.

Gehen Sie zur Registerkarte "Chat" und senden Sie eine Frage an Ihr Team, um zu sehen, wie sie reagieren. Beachten Sie, dass der Forscher Wikipedia verwenden wird, um seine Forschung durchzuführen. Sehr cool!

Sie können von Ihren Teammitgliedern verlangen, dass sie auf Ihre Genehmigung warten, bevor Sie ihre Fähigkeiten ausführen. Fügen Sie die Fähigkeit "DuckDuckgo-Search" hinzu und wählen Sie "Genehmigung" des Forschers aus.

Bevor der Forscher seine Fähigkeiten ausführt, fordert er Ihre Genehmigung auf. Wenn die Suche des Forschers nicht das ist, was Sie gewünscht haben, lehnen Sie die Aktion ab und geben Sie eine optionale Nachricht an, um eine Richtung anzugeben.

Sobald der Forscher die Suche an Ihre Anforderungen angepasst hat, können Sie die Aktion genehmigen. 
Der Forscher wird dann seine Fähigkeiten wie angegeben ausführen. 
Tribe ist offen und willkommene Beiträge der Community! Schauen Sie sich unseren Beitragsführer an, um loszulegen.
Einige Möglichkeiten, um einen Beitrag zu leisten:
Überprüfen Sie die Dateifreigabe-notes.md.
Stamm ist nach den Bedingungen der MIT -Lizenz lizenziert.