GenAI エージェントの世界は断片化されており、LangGraph、AWS Bedrock、Semantic Kernel などのフレームワークがそれぞれ独自のサイロで動作しています。この相互運用性の欠如は、さまざまなプラットフォーム、API、またはレガシー システム間でエージェントを統合する必要がある開発者や企業にとって障害となります。
AgenticDB は、この分散した状況を統合するソリューションとして登場します。これは、GenAI エージェントとアプリケーション マニフェストを保存および管理するために特別に設計されたデータベースです。 AgenticDB を使用すると、集中リポジトリからエージェントの追加、検索、呼び出し、評価をすべて簡単に行うことができます。 Docker ベースのエージェント管理やリモート実行などの高度な機能により汎用性が拡張され、幅広い GenAI ワークフローに適応できるようになります。
AgenticDB はエージェントの処理方法を合理化することで時間を節約するだけでなく、あらゆるタスクに適切なエージェントを見つけて利用することを容易にし、イノベーションを促進します。これは、異種のフレームワークを接続する架け橋であり、シームレスなコラボレーションを可能にし、GenAI エコシステムの進歩を加速します。
AgenticDB を使用すると、次のことが可能になります。
AgenticDB サーバーをローカルで起動するには、次のコマンドを実行します。
python server.py
API はhttp://127.0.0.1:8000
で利用可能になります。
これは、README の「すべてのコレクションの削除」セクションの更新版であり、提供された Python コードからの実際の JSON 応答形式を反映しています。
次のcurl
コマンドを使用して、データベースにエージェントを追加できます。この例では、 code-gen-chart-agent
という新しいエージェントを追加する JSON リクエストを送信します。
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."
}
}
}
] '
これにより、エージェント マニフェストが AgenticDB に追加され、今後の検索や呼び出しに使用できるようになります。
自然言語クエリに基づいてエージェントを検索するには、次のcurl
コマンドを使用します。この例では、「自然言語」に関連するエージェントを検索します。
curl -G " http://127.0.0.1:8000/agents "
-H " Accept: application/json "
--data-urlencode " query=Which agents can book travel? "
AgenticDB は類似性検索を実行し、クエリに基づいて一致するエージェントのリストを返します。
同様のcurl
コマンドを使用して、エージェントアプリケーションをAgenticDBに追加することもできます。ここでは、株価を追跡してチャートを生成する「株価チャート アプリケーション」を追加する例を示します。
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"
}
}
}
] '
1 つのDELETE
リクエストで、すべてのエージェント、アプリケーション、および評価コレクションを AgenticDB から削除できます。この操作では、保存されているコレクション ( agents
、 applications
、およびratings
の削除が試行されます。各コレクションの削除は個別に処理され、結果には各コレクションが正常に削除されたかどうかが反映されます。
curl -X DELETE " http://127.0.0.1:8000/collections "
応答では、各削除試行のステータスが JSON オブジェクトの形式で提供されます。コレクションが正常に削除された場合、値は0
になります。エラーがあった場合、値には対応するエラー メッセージが含まれます。
{
"agents" : 0 ,
"applications" : 0 ,
"ratings" : " Failed to delete ratings collection: some_error_message "
}
0
は、 agents
コレクションが正常に削除されたことを示します。0
は、 applications
コレクションが正常に削除されたことを示します。"some_error_message"
実際に発生したエラーに置き換えます)。 エージェントと対話した後、このcurl
コマンドを使用してエージェントの評価を送信できます。 placeholder_agent_id
とplaceholder_some_id
実際のエージェント ID と評価 ID に置き換えます。
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
}
}
} '
このcurl
コマンドを使用して、エージェントの評価を取得できます。 <ratings_id>
実際の評価 ID に置き換えます。
curl -X GET " http://127.0.0.1:8000/ratings?ratings_id=<ratings_id> "
AgenticDB は、指定された評価 ID に関連付けられたスコアとフィードバックを返します。