Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El almacenamiento es un componente crítico del SDK de Microsoft Agents, lo que permite a los agentes conservar el estado de conversación, los datos de usuario y otra información entre sesiones. Admite varias opciones de almacenamiento, incluido el almacenamiento en memoria, Azure Cosmos DB, Azure Blobs Storage y permite proveedores de almacenamiento personalizados.
Opciones de almacenamiento de claves
Almacenamiento de memoria
- Adecuado para pruebas y fines de desarrollo.
- Los datos se borran cuando el agente se reinicia, lo que hace que no sea adecuado para producción.
- Los datos solo están disponibles en la instancia de webapp, lo que hace que no sea adecuado al ejecutarse en un clúster.
Azure Cosmos DB (la base de datos de Azure Cosmos)
- Base de datos multimodelo distribuida globalmente ideal para agentes de producción.
- Admite el almacenamiento con particiones para mejorar la escalabilidad y el rendimiento.
Azure Blob Storage (Servicio de almacenamiento de blobs de Azure)
- Optimizado para almacenar datos no estructurados como archivos binarios o de texto.
- Se usa habitualmente para el almacenamiento del estado del agente y de las transcripciones.
Se pueden proporcionar opciones de almacenamiento personalizadas mediante la implementación
IStorage
Uso de diferentes proveedores de almacenamiento
Almacenamiento de memoria
Todos los ejemplos usan MemoryStorage
Para .NET, en Program.cs, regístrese. MemoryStorage
builder.Services.AddSingleton<IStorage, MemoryStorage>();
Almacenamiento de Azure CosmosDb
Para .NET:
Adición de una dependencia de paquete para
Microsoft.Agents.Storage.CosmosDbEn Program.cs, agregue (o reemplace el existente)
IStorageregistro por: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); });Para obtener más información, vea
CosmosDbPartitionedStorageOptions.
Almacenamiento de blobs de Azure
Para .NET:
Adición de una dependencia de paquete para
Microsoft.Agents.Storage.BlobsEn Program.cs, agregue (o reemplace el existente)
IStorageregistro por: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); });