Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le stockage est un composant critique du Microsoft 365 Agents SDK. Il permet aux assistants de conserver l’état de la conversation, les données utilisateur et d’autres informations entre les sessions. Le SDK prend en charge différentes options de stockage, notamment :
- Stockage mémoire
- Azure Cosmos DB
- Stockage Blob Azure
- Fournisseurs de stockage personnalisés
Options de stockage clés
Le SDK Agents propose plusieurs fournisseurs de stockage intégrés, chacun ayant ses propres cas d’utilisation et avantages. Vous pouvez sélectionner celui qui correspond le mieux aux besoins de votre assistant. Vous pouvez également implémenter votre propre fournisseur de stockage personnalisé.
Stockage mémoire
- Adapté aux fins de test et de développement.
- Les données sont effacées lorsque l’assistant redémarre, ce qui le rend inadapté à la production.
- Les données ne sont disponibles que sur l’instance d’application web, ce qui le rend inadapté lors de l’exécution dans un cluster.
Azure Cosmos DB
- Une base de données multimodèle distribuée mondialement idéale pour les assistants de production.
- Prend en charge le stockage partitionné pour la scalabilité et les performances.
Stockage Blob Azure
- Optimisé pour stocker des données non structurées telles que des fichiers texte ou binaires.
- Couramment utilisé pour le stockage d’état et de transcription de l’assistant.
Options de stockage personnalisées en implémentant
IStorage
Utilisation de différents fournisseurs de stockage
Stockage mémoire
Tous les exemples utilisent MemoryStorage. Ce stockage est volatil et adapté uniquement au développement et aux tests. Pour les scénarios de production, utilisez une option de stockage plus durable comme Azure Cosmos DB ou Stockage Blob Azure.
Dans Program.cs, s’inscrire à MemoryStorage :
builder.Services.AddSingleton<IStorage, MemoryStorage>();
Stockage Azure Cosmos DB
Ajoutez une dépendance de package pour
Microsoft.Agents.Storage.CosmosDb.Dans
Program.cs, ajoutez (ou remplacez l’inscription existante)IStoragepar :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); });En savoir plus sur
CosmosDbPartitionedStorageOptions.
Stockage Blob Azure
Ajoutez une dépendance de package pour
Microsoft.Agents.Storage.Blobs.Dans
Program.cs, ajoutez (ou remplacez l’inscription existante)IStoragepar :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); });