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 agentes de Microsoft 365. Permite a los agentes almacenar el estado de la conversación, los datos del usuario y otra información para que se conserve entre sesiones. El SDK ofrece varias opciones de almacenamiento, entre ellas:
- Almacenamiento en memoria
- Azure Cosmos DB
- Almacenamiento de blobs de Azure
- Proveedores de almacenamiento personalizados
Opciones de almacenamiento principales
El SDK de Agents proporciona varios proveedores de almacenamiento integrados, cada uno con sus propios casos de uso y beneficios. Puede elegir el que mejor se ajuste a las necesidades de su agente. También puede implementar su propio proveedor de almacenamiento personalizado.
Almacenamiento en memoria
- Adecuado para fines de prueba y desarrollo.
- Los datos se eliminan cuando el agente se reinicia, por lo que no es adecuado para producción.
- Los datos solo están disponibles en la instancia de la aplicación web, lo que lo hace poco adecuado para su uso en clústeres.
Azure Cosmos DB
- Una base de datos multimodelo, distribuida a nivel global, que es ideal para agentes en producción.
- Admite almacenamiento particionado para escalabilidad y rendimiento.
Almacenamiento de blobs de Azure
- Optimizado para almacenar datos no estructurados como texto o archivos binarios.
- Se utiliza habitualmente para el almacenamiento del estado del agente y de las transcripciones.
Opciones de almacenamiento personalizadas mediante la implementación de
IStorage
Usar diferentes proveedores de almacenamiento
Almacenamiento en memoria
Todos los ejemplos utilizan MemoryStorage. Este almacenamiento es volátil y adecuado solo para desarrollo y pruebas. Para escenarios de producción, utilice 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 el registro deIStorage(o reemplace el existente) con: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); });Más información en
CosmosDbPartitionedStorageOptions.
Azure Blob Storage
Agregue una dependencia de paquete para
Microsoft.Agents.Storage.Blobs.En
Program.cs, agregue el registro deIStorage(o reemplace el existente) con: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); });