Le monde des agents GenAI est fragmenté, avec des frameworks comme LangGraph, AWS Bedrock et Semantic Kernel fonctionnant chacun dans leurs propres silos. Ce manque d'interopérabilité crée des obstacles pour les développeurs et les entreprises qui doivent intégrer des agents sur différentes plates-formes, API ou systèmes existants.
AgenticDB apparaît comme la solution pour unifier ce paysage dispersé. Il s'agit d'une base de données spécialement conçue pour stocker et gérer les manifestes d'agent et d'application GenAI. Avec AgenticDB, vous pouvez facilement ajouter, rechercher, appeler et évaluer des agents, le tout à partir d'un référentiel centralisé. Des fonctionnalités avancées telles que la gestion des agents basées sur Docker et l'exécution à distance augmentent sa polyvalence, la rendant adaptable à un large éventail de flux de travail GenAI.
En rationalisant la façon dont nous gérons les agents, AgenticDB permet non seulement de gagner du temps, mais favorise également l'innovation en facilitant la recherche et l'utilisation du bon agent pour n'importe quelle tâche. Il s'agit du pont qui relie des cadres disparates, permettant une collaboration transparente et accélérant les progrès dans l'écosystème GenAI.
Avec AgenticDB , vous pouvez :
Pour démarrer le serveur AgenticDB localement, exécutez la commande suivante :
python server.py
L'API sera disponible sur http://127.0.0.1:8000
.
Voici une version mise à jour de la section Supprimer toutes les collections dans le README, reflétant le format de réponse JSON réel du code Python fourni.
Vous pouvez ajouter un agent à la base de données à l'aide de la commande curl
suivante. Cet exemple envoie une requête JSON pour ajouter un nouvel agent appelé code-gen-chart-agent
.
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."
}
}
}
] '
Cela ajoutera le manifeste de l'agent à AgenticDB, le rendant disponible pour les recherches et appels futurs.
Pour rechercher des agents basés sur une requête en langage naturel, utilisez la commande curl
suivante. Cet exemple recherche des agents liés au « langage naturel ».
curl -G " http://127.0.0.1:8000/agents "
-H " Accept: application/json "
--data-urlencode " query=Which agents can book travel? "
AgenticDB effectuera une recherche de similarité et renverra une liste d'agents correspondants en fonction de la requête.
Vous pouvez également ajouter une application agent à AgenticDB à l'aide d'une commande curl
similaire. Voici un exemple d'ajout d'une « application de cartographie des cours boursiers » qui suit les cours des actions et génère des graphiques.
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"
}
}
}
] '
Vous pouvez supprimer toutes les collections d'agents, d'applications et d'évaluations d'AgenticDB avec une seule requête DELETE
. Cette opération tentera de supprimer les collections stockées : agents
, applications
et ratings
. Chaque suppression de collection est traitée séparément et les résultats indiqueront si chaque collection a été supprimée avec succès.
curl -X DELETE " http://127.0.0.1:8000/collections "
La réponse fournira le statut de chaque tentative de suppression sous la forme d'un objet JSON. Si une collection est supprimée avec succès, la valeur sera 0
. S'il y a eu une erreur, la valeur contiendra le message d'erreur correspondant.
{
"agents" : 0 ,
"applications" : 0 ,
"ratings" : " Failed to delete ratings collection: some_error_message "
}
0
indique que la collection agents
a été supprimée avec succès.0
indique que la collection applications
a été supprimée avec succès."some_error_message"
par l'erreur réelle rencontrée). Après avoir interagi avec un agent, vous pouvez soumettre une évaluation pour l'agent à l'aide de cette commande curl
. Remplacez placeholder_agent_id
et placeholder_some_id
par les ID d'agent et d'évaluation réels.
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
}
}
} '
Vous pouvez récupérer les évaluations des agents à l'aide de cette commande curl
. Remplacez <ratings_id>
par l'ID de note réel.
curl -X GET " http://127.0.0.1:8000/ratings?ratings_id=<ratings_id> "
AgenticDB renverra le score et les commentaires associés à l'ID de notation fourni.