El mundo de los agentes GenAI está fragmentado, con marcos como LangGraph, AWS Bedrock y Semantic Kernel, cada uno de los cuales opera en sus propios silos. Esta falta de interoperabilidad crea obstáculos para los desarrolladores y las empresas que necesitan integrar agentes en diferentes plataformas, API o sistemas heredados.
AgenticDB surge como la solución para unificar este panorama disperso. Es una base de datos diseñada específicamente para almacenar y administrar manifiestos de aplicaciones y agentes GenAI. Con AgenticDB, puede agregar, buscar, invocar y calificar agentes sin esfuerzo, todo desde un repositorio centralizado. Las funciones avanzadas como la gestión de agentes basada en Docker y la ejecución remota amplían su versatilidad, haciéndolo adaptable a una amplia gama de flujos de trabajo GenAI.
Al optimizar la forma en que manejamos a los agentes, AgenticDB no solo ahorra tiempo sino que también fomenta la innovación al facilitar la búsqueda y utilización del agente adecuado para cualquier tarea. Es el puente que conecta marcos dispares, lo que permite una colaboración perfecta y acelera el progreso en el ecosistema GenAI.
Con AgenticDB , puedes:
Para iniciar el servidor AgenticDB localmente, ejecute el siguiente comando:
python server.py
La API estará disponible en http://127.0.0.1:8000
.
Aquí hay una versión actualizada de la sección Eliminar todas las colecciones en el archivo README, que refleja el formato de respuesta JSON real del código Python proporcionado.
Puede agregar un agente a la base de datos usando el siguiente comando curl
. Este ejemplo envía una solicitud JSON para agregar un nuevo agente llamado 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."
}
}
}
] '
Esto agregará el manifiesto del agente a AgenticDB, haciéndolo disponible para futuras búsquedas e invocaciones.
Para buscar agentes basándose en una consulta en lenguaje natural, utilice el siguiente comando curl
. Este ejemplo busca agentes relacionados con "Lenguaje Natural".
curl -G " http://127.0.0.1:8000/agents "
-H " Accept: application/json "
--data-urlencode " query=Which agents can book travel? "
AgenticDB realizará una búsqueda de similitud y devolverá una lista de agentes coincidentes según la consulta.
También puede agregar una aplicación agente a AgenticDB usando un comando curl
similar. A continuación se muestra un ejemplo para agregar una "Aplicación de gráficos de precios de acciones" que rastrea los precios de las acciones y genera gráficos.
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"
}
}
}
] '
Puede eliminar todas las colecciones de agentes, aplicaciones y calificaciones de AgenticDB con una sola solicitud DELETE
. Esta operación intentará eliminar las colecciones almacenadas: agents
, applications
y ratings
. La eliminación de cada colección se maneja por separado y los resultados reflejarán si cada colección se eliminó correctamente.
curl -X DELETE " http://127.0.0.1:8000/collections "
La respuesta proporcionará el estado de cada intento de eliminación en forma de objeto JSON. Si una colección se elimina correctamente, el valor será 0
. Si hubo un error, el valor contendrá el mensaje de error correspondiente.
{
"agents" : 0 ,
"applications" : 0 ,
"ratings" : " Failed to delete ratings collection: some_error_message "
}
0
indica que la colección agents
se eliminó correctamente.0
indica que la colección applications
se eliminó correctamente."some_error_message"
con el error real encontrado). Después de interactuar con un agente, puede enviar una calificación para el agente usando este comando curl
. Reemplace placeholder_agent_id
y placeholder_some_id
con el agente real y los ID de calificación.
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
}
}
} '
Puede recuperar calificaciones de agentes usando este comando curl
. Reemplace <ratings_id>
con el ID de calificación real.
curl -X GET " http://127.0.0.1:8000/ratings?ratings_id=<ratings_id> "
AgenticDB devolverá la puntuación y los comentarios asociados con el ID de calificación proporcionado.