إن عالم وكلاء GenAI مجزأ، حيث تعمل كل من أطر العمل مثل LangGraph وAWS Bedrock وSemantic Kernel في صوامع خاصة بها. يؤدي هذا النقص في قابلية التشغيل البيني إلى إنشاء عقبات أمام المطورين والمؤسسات التي تحتاج إلى دمج الوكلاء عبر منصات مختلفة أو واجهات برمجة التطبيقات أو الأنظمة القديمة.
يظهر AgenticDB كحل لتوحيد هذه المناظر الطبيعية المتناثرة. إنها قاعدة بيانات مصممة خصيصًا لتخزين وإدارة بيانات وكيل GenAI وتطبيقاته. باستخدام AgenticDB، يمكنك إضافة الوكلاء والبحث عنهم واستدعائهم وتقييمهم بسهولة، كل ذلك من مستودع مركزي. تعمل الميزات المتقدمة مثل إدارة الوكيل المستندة إلى Docker والتنفيذ عن بُعد على توسيع تعدد استخداماته، مما يجعله قابلاً للتكيف مع مجموعة واسعة من مسارات عمل GenAI.
من خلال تبسيط الطريقة التي نتعامل بها مع الوكلاء، لا يوفر AgenticDB الوقت فحسب، بل يعزز أيضًا الابتكار من خلال تسهيل العثور على الوكيل المناسب واستخدامه لأية مهمة. إنه الجسر الذي يربط بين الأطر المتباينة، مما يتيح التعاون السلس وتسريع التقدم في النظام البيئي GenAI.
مع AgenticDB ، يمكنك:
لبدء تشغيل خادم AgenticDB محليًا، قم بتشغيل الأمر التالي:
python server.py
ستكون واجهة برمجة التطبيقات (API) متاحة على http://127.0.0.1:8000
.
فيما يلي نسخة محدثة من قسم حذف جميع المجموعات في الملف README، مما يعكس تنسيق استجابة JSON الفعلي من كود Python المقدم.
يمكنك إضافة وكيل إلى قاعدة البيانات باستخدام أمر curl
التالي. يرسل هذا المثال طلب JSON لإضافة وكيل جديد يسمى 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."
}
}
}
] '
سيؤدي هذا إلى إضافة بيان الوكيل إلى AgenticDB، مما يجعله متاحًا لعمليات البحث والاستدعاءات المستقبلية.
للبحث عن الوكلاء بناءً على استعلام باللغة الطبيعية، استخدم أمر curl
التالي. يبحث هذا المثال عن وكلاء مرتبطين بـ "اللغة الطبيعية".
curl -G " http://127.0.0.1:8000/agents "
-H " Accept: application/json "
--data-urlencode " query=Which agents can book travel? "
سيقوم AgenticDB بإجراء بحث عن التشابه وإرجاع قائمة بالوكلاء المطابقين بناءً على الاستعلام.
يمكنك أيضًا إضافة تطبيق وكيل إلى AgenticDB باستخدام أمر curl
مماثل. فيما يلي مثال لإضافة "تطبيق رسم أسعار الأسهم" الذي يتتبع أسعار الأسهم ويقوم بإنشاء الرسوم البيانية.
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"
}
}
}
] '
يمكنك حذف جميع مجموعات الوكلاء والتطبيقات والتقييمات من AgenticDB بطلب DELETE
واحد. ستحاول هذه العملية إزالة المجموعات المخزنة: 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
بالوكيل الفعلي ومعرفات التصنيف.
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>
بمعرف التقييمات الفعلي.
curl -X GET " http://127.0.0.1:8000/ratings?ratings_id=<ratings_id> "
سوف يقوم AgenticDB بإرجاع النتيجة والتعليقات المرتبطة بمعرف التصنيفات المقدم.