Nota
L'accés a aquesta pàgina requereix autorització. Podeu provar d'iniciar la sessió o de canviar els directoris.
L'accés a aquesta pàgina requereix autorització. Podeu provar de canviar els directoris.
El almacenamiento es un componente crítico de SDK de agentes de Microsoft 365. Permite a los agentes conservar el estado de conversación, los datos de usuario y otra información entre sesiones. El SDK admite varias opciones de almacenamiento, entre las que se incluyen:
- Almacenamiento en memoria
- Azure Cosmos DB (la base de datos de Azure Cosmos)
- Azure Blob Storage (Servicio de almacenamiento de blobs de Azure)
- Proveedores de almacenamiento personalizados
Opciones de almacenamiento de claves
El SDK de agentes proporciona varios proveedores de almacenamiento integrados, cada uno con sus propios casos de uso y ventajas. Puede elegir la que mejor se adapte a las necesidades del agente. También puede implementar su propio proveedor de almacenamiento personalizado.
Almacenamiento en memoria
- Adecuado para pruebas y fines de desarrollo.
- Los datos se borran cuando se reinicia el agente, por lo que no es adecuado para producción.
- Los datos solo están disponibles en la instancia de la aplicación web, por lo que no es adecuado cuando se ejecuta en un clúster.
Azure Cosmos DB (la base de datos de Azure Cosmos)
- Una 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.
Opciones de almacenamiento personalizadas mediante la implementación
IStorage
Uso de diferentes proveedores de almacenamiento
Almacenamiento en memoria
Todos los ejemplos usan MemoryStorage. Este almacenamiento es volátil y es adecuado solo para desarrollo y pruebas. En escenarios de producción, use una opción de almacenamiento más duradera, como Azure Cosmos DB o Azure Blob Storage.
En Program.cs, registre MemoryStorage:
builder.Services.AddSingleton<IStorage, MemoryStorage>();
Almacenamiento de Azure CosmosDb
Agregue una dependencia de paquete para
Microsoft.Agents.Storage.CosmosDb.En
Program.cs, agregue (o reemplace el registro existente de)IStoragepor: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); });Puede encontrar más información en
CosmosDbPartitionedStorageOptions.
Almacenamiento de blobs de Azure
Agregue una dependencia de paquete para
Microsoft.Agents.Storage.Blobs.En
Program.cs, agregue (o reemplace el registro existente deIStorage) 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); });