Die Welt der GenAI-Agenten ist fragmentiert, wobei Frameworks wie LangGraph, AWS Bedrock und Semantic Kernel jeweils in ihren eigenen Silos arbeiten. Dieser Mangel an Interoperabilität stellt Entwickler und Unternehmen vor Hürden, die Agenten über verschiedene Plattformen, APIs oder Legacy-Systeme hinweg integrieren müssen.
AgenticDB erweist sich als Lösung zur Vereinheitlichung dieser verstreuten Landschaft. Es handelt sich um eine Datenbank, die speziell zum Speichern und Verwalten von GenAI-Agenten- und Anwendungsmanifesten entwickelt wurde. Mit AgenticDB können Sie Agenten mühelos über ein zentrales Repository hinzufügen, suchen, aufrufen und bewerten. Erweiterte Funktionen wie Docker-basierte Agentenverwaltung und Remote-Ausführung erweitern die Vielseitigkeit und machen es für eine Vielzahl von GenAI-Workflows anpassbar.
Durch die Optimierung der Art und Weise, wie wir mit Agenten umgehen, spart AgenticDB nicht nur Zeit, sondern fördert auch Innovationen, indem es einfacher macht, den richtigen Agenten für jede Aufgabe zu finden und einzusetzen. Es ist die Brücke, die unterschiedliche Frameworks verbindet, eine nahtlose Zusammenarbeit ermöglicht und den Fortschritt im GenAI-Ökosystem beschleunigt.
Mit AgenticDB können Sie:
Um den AgenticDB-Server lokal zu starten, führen Sie den folgenden Befehl aus:
python server.py
Die API wird unter http://127.0.0.1:8000
verfügbar sein.
Hier ist eine aktualisierte Version des Abschnitts „Alle Sammlungen löschen“ in der README-Datei, die das tatsächliche JSON-Antwortformat aus dem bereitgestellten Python-Code widerspiegelt.
Mit dem folgenden curl
-Befehl können Sie der Datenbank einen Agenten hinzufügen. In diesem Beispiel wird eine JSON-Anfrage zum Hinzufügen eines neuen Agenten namens code-gen-chart-agent
gesendet.
curl -X POST " http://127.0.0.1:8000/agents "
-H " Content-Type: application/json "
-H " Accept: application/json "
-d ' [
{
"metadata": {
"name": "code-gen-chart-agent",
"namespace": "agents",
"description": "Requests for a javascript code generator to plot a chart with supplied free-form data."
},
"spec": {
"type": "agent",
"lifecycle": "dev",
"owner": "[email protected]",
"access_level": "Public",
"category": "Travel Agent",
"url": "https://api.example.com/code-gen-chart-agent/agent",
"parameters": {
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "The request message for the chart code generator agent."
},
"thread": {
"type": "string",
"description": "The id to separate parallel message threads."
}
},
"required": ["message", "thread"],
"additionalProperties": false
},
"output": {
"type": "string",
"description": "The result of the request, including any generated image location."
}
}
}
] '
Dadurch wird das Agentenmanifest zu AgenticDB hinzugefügt und für zukünftige Suchvorgänge und Aufrufe verfügbar gemacht.
Um auf der Grundlage einer Abfrage in natürlicher Sprache nach Agenten zu suchen, verwenden Sie den folgenden curl
-Befehl. In diesem Beispiel wird nach Agenten gesucht, die sich auf „Natürliche Sprache“ beziehen.
curl -G " http://127.0.0.1:8000/agents "
-H " Accept: application/json "
--data-urlencode " query=Which agents can book travel? "
AgenticDB führt eine Ähnlichkeitssuche durch und gibt eine Liste passender Agenten basierend auf der Abfrage zurück.
Sie können AgenticDB auch eine Agentenanwendung hinzufügen, indem Sie einen ähnlichen curl
-Befehl verwenden. Hier ist ein Beispiel für das Hinzufügen einer „Aktienpreis-Charting-Anwendung“, die Aktienkurse verfolgt und Diagramme erstellt.
curl -X POST " http://127.0.0.1:8000/applications "
-H " Content-Type: application/json "
-H " Accept: application/json "
-d ' [
{
"metadata": {
"name": "Stock Price Charting Application",
"namespace": "production",
"description": "Provides access to daily open, high, low, close stock prices over time and the ability to generate charts for the requested data"
},
"spec": {
"type": "application",
"lifecycle": "dev",
"owner": "[email protected]",
"access_level": "PUBLIC",
"category": "Finance",
"setup": {
"compose": {
"compose_url": "https://ipfs.filebase.io/ipfs/somehash",
"run_command": "gunzip docker-compose.yml.gz && docker compose -f ./docker-compose.yml up -d"
}
},
"url": "http://localhost:3000/agent",
"method": "POST",
"example": "http://localhost:3000/agent ' Content-Type ' : ' application/json ' { ' input ' : ' what was the Nvidia close price on August 22nd 2024 ' , ' thread ' : ' nvidia ' }",
"parameters": {
"type": "object",
"properties": {
"input": {
"type": "string",
"description": "natural language request for stock price data and charting of the data as required"
},
"thread": {
"type": "string",
"description": "thread context id for the request"
}
},
"required": ["input"],
"additionalProperties": false
},
"output": {
"type": "object",
"properties": {
"content": {
"type": "string",
"description": "the natural language response and the Final Answer to the request with a chart location if requested"
}
},
"description": "the answer to the request"
}
}
}
] '
Sie können alle Agenten-, Anwendungs- und Bewertungssammlungen mit einer einzigen DELETE
Anfrage aus AgenticDB löschen. Bei diesem Vorgang wird versucht, die gespeicherten Sammlungen zu entfernen: agents
, applications
und ratings
. Jede Sammlungslöschung wird separat behandelt und die Ergebnisse zeigen an, ob jede Sammlung erfolgreich gelöscht wurde.
curl -X DELETE " http://127.0.0.1:8000/collections "
Die Antwort stellt den Status jedes Löschversuchs in Form eines JSON-Objekts bereit. Wenn eine Sammlung erfolgreich gelöscht wurde, ist der Wert 0
. Wenn ein Fehler aufgetreten ist, enthält der Wert die entsprechende Fehlermeldung.
{
"agents" : 0 ,
"applications" : 0 ,
"ratings" : " Failed to delete ratings collection: some_error_message "
}
0
gibt an, dass die agents
erfolgreich gelöscht wurde.0
gibt an, dass die applications
erfolgreich gelöscht wurde."some_error_message"
durch den tatsächlich aufgetretenen Fehler). Nachdem Sie mit einem Agenten interagiert haben, können Sie mit diesem curl
-Befehl eine Bewertung für den Agenten abgeben. Ersetzen Sie placeholder_agent_id
und placeholder_some_id
durch die tatsächlichen Agenten- und Bewertungs-IDs.
curl -X POST " http://127.0.0.1:8000/ratings "
-H " Content-Type: application/json "
-d ' {
"ratings": {
"agent_id": "placeholder_agent_id",
"id": "placeholder_some_id",
"data": {
"score": 4
}
}
} '
Mit diesem curl
-Befehl können Sie Agentenbewertungen abrufen. Ersetzen Sie <ratings_id>
durch die tatsächliche Bewertungs-ID.
curl -X GET " http://127.0.0.1:8000/ratings?ratings_id=<ratings_id> "
AgenticDB gibt die mit der angegebenen Bewertungs-ID verknüpfte Punktzahl und das Feedback zurück.