إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
التخزين هو مكون هام من Microsoft Agents SDK، ما يتيح للوكلاء استمرار حالة المحادثة وبيانات المستخدم ومعلومات أخرى عبر الجلسات. وهو يدعم خيارات التخزين المختلفة، بما في ذلك التخزين في الذاكرة، Azure Cosmos DB، Azure Blobs Storage، ويسمح لموفري التخزين المخصصين.
خيارات التخزين الرئيسية
مساحة تخزين الذاكرة
- مناسب لأغراض الاختبار والتطوير.
- يتم مسح البيانات عند إعادة تشغيل العامل، ما يجعلها غير مناسبة للإنتاج.
- يتم الاستفادة من البيانات فقط على مثيل تطبيق الويب، ما يجعلها غير مناسبة عند التشغيل في نظام مجموعة.
Azure Cosmos DB
- قاعدة بيانات متعددة النماذج موزعة عالميا مثالية لوكلاء الإنتاج.
- يدعم التخزين المقسم لقابلية التوسع والأداء.
مساحة تخزين Azure Blob
- محسن لتخزين البيانات غير المنظمة مثل الملفات النصية أو الثنائية.
- شائع الاستخدام لحالة العامل وتخزين النسخة المكتوبة.
يمكن توفير خيارات التخزين المخصصة عن طريق تنفيذ
IStorage
استخدام موفري تخزين مختلفين
تخزين الذاكرة
تستخدم جميع العينات MemoryStorage
بالنسبة إلى .NET، في Program.cs، سجل MemoryStorage
builder.Services.AddSingleton<IStorage, MemoryStorage>();
نظام تخزين Azure لـ CosmosDb
بالنسبة لخدمة .NET
إضافة تبعية حزمة ل
Microsoft.Agents.Storage.CosmosDbفي Program.cs، أضف (أو استبدل التسجيل الموجود)
IStorageب:builder.Services.AddSingleton<IStorage>(sp => { var options = new CosmosDbPartitionedStorageOptions() { CosmosDbEndpoint = "your-cosmosdb-endpoint", DatabaseId = "your-database-id", ContainerId = "your-container-id", // Get a TokenCredential from your defined Connections TokenCredential = sp.GetService<IConnections>().GetConnection("ServiceConnection").GetTokenCredential() }; return new CosmosDbPartitionedStorage(options); });لمزيد من التفاصيل، راجع
CosmosDbPartitionedStorageOptions.
تخزين الكتل في Azure
بالنسبة لخدمة .NET
إضافة تبعية حزمة ل
Microsoft.Agents.Storage.Blobsفي Program.cs، أضف (أو استبدل التسجيل الموجود)
IStorageب:builder.Services.AddSingleton<IStorage>(sp => { // Get a TokenCredential from your defined Connections var tokenCredential = sp.GetService<IConnections>().GetConnection("ServiceConnection").GetTokenCredential(); return new BlobsStorage( new Uri("{{your-blobs-storage-endpoint}}/agent-state"), tokenCredential); });