Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Penyimpanan adalah komponen penting dari Agen SDK Microsoft 365. Ini memungkinkan agen menyimpan secara berkelanjutan status percakapan, data pengguna, dan informasi lainnya di berbagai sesi. SDK mendukung berbagai opsi penyimpanan, termasuk:
- Penyimpanan dalam memori
- Azure Cosmos DB
- Azure Blob Storage
- Penyedia penyimpanan khusus
Opsi penyimpanan utama
Agen SDK menyediakan beberapa penyedia penyimpanan bawaan, masing-masing dengan kasus penggunaan dan manfaatnya sendiri. Anda dapat memilih salah satu yang paling sesuai dengan kebutuhan agen Anda. Anda juga dapat menerapkan penyedia penyimpanan kustom Anda sendiri.
Penyimpanan memori
- Cocok untuk tujuan pengujian dan pengembangan.
- Data dibersihkan ketika agen dimulai ulang, menjadikannya tidak cocok untuk produksi.
- Data hanya tersedia pada instans aplikasi web, sehingga tidak cocok digunakan saat berjalan dalam kluster.
Azure Cosmos DB
- Basis data multimodel yang terdistribusi secara global, sangat cocok untuk agen produksi.
- Mendukung penyimpanan yang dipartisi untuk skalabilitas dan performa.
Azure Blob Storage
- Dioptimalkan untuk menyimpan data tidak terstruktur seperti teks atau file biner.
- Umumnya digunakan untuk menyimpan status agen dan transkrip.
Opsi penyimpanan kustom dengan mengimplementasikan
IStorage
Menggunakan penyedia penyimpanan yang berbeda
Penyimpanan memori
Semua sampel menggunakan MemoryStorage. Penyimpanan ini bersifat volatil dan hanya cocok untuk pengembangan dan pengujian. Untuk skenario produksi, gunakan opsi penyimpanan yang lebih andal seperti Azure Cosmos DB atau Azure Blob Storage.
Dalam Program.cs, daftarkan MemoryStorage:
builder.Services.AddSingleton<IStorage, MemoryStorage>();
Penyimpanan Azure Cosmos DB
Tambahkan dependensi paket untuk
Microsoft.Agents.Storage.CosmosDb.Dalam
Program.cs, tambahkan pendaftaran (atau ganti yang ada)IStoragedengan: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); });Pelajari lebih lanjut di
CosmosDbPartitionedStorageOptions.
Azure blob storage
Tambahkan dependensi paket untuk
Microsoft.Agents.Storage.Blobs.Dalam
Program.cs, tambahkan pendaftaran (atau ganti yang ada)IStoragedengan: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); });