Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O armazenamento é um componente crítico do SDK de Agentes do Microsoft 365. Ele permite que os agentes persistam o estado da conversa, os dados do usuário e outras informações entre as sessões. O SDK dá suporte a várias opções de armazenamento, incluindo:
- Armazenamento na memória
- Azure Cosmos DB
- Armazenamento de Blobs do Azure
- Provedores de armazenamento personalizados
Opções de armazenamento de chaves
O SDK de Agentes fornece vários provedores de armazenamento internos, cada um com seus próprios casos de uso e benefícios. Você pode escolher aquele que melhor atenda às necessidades do seu agente. Você também pode implementar seu próprio provedor de armazenamento personalizado.
Armazenamento de memória
- Adequado para fins de teste e desenvolvimento.
- Os dados são limpos quando o agente é reiniciado, isso os tornam inadequados para produção.
- Os dados só estão disponíveis na instância do aplicativo Web, portanto, são inadequados ao serem executados em um cluster.
Azure Cosmos DB
- Um banco de dados multimodelo globalmente distribuído, ideal para agentes em produção.
- Dá suporte ao armazenamento particionado para escalabilidade e desempenho.
Armazenamento de Blobs do Azure
- Otimizado para armazenar dados não estruturados, como arquivos binários ou texto.
- Normalmente usado para o estado do agente e o armazenamento de transcrição.
Opções de armazenamento personalizadas implementando
IStorage
Usando provedores de armazenamento diferentes
Armazenamento de memória
Todas as amostras usam MemoryStorage. Esse armazenamento é volátil e adequado apenas para desenvolvimento e teste. Para cenários de produção, use uma opção de armazenamento mais durável, como Azure Cosmos DB ou Armazenamento de Blobs do Azure.
Em Program.cs, registre MemoryStorage:
builder.Services.AddSingleton<IStorage, MemoryStorage>();
Armazenamento do Azure CosmosDb
Adicionar uma dependência de pacote para
Microsoft.Agents.Storage.CosmosDb.Em
Program.cs, adicione (ou substitua o registroIStorageexistente) 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); });Saiba mais em
CosmosDbPartitionedStorageOptions.
Armazenamento de blobs do Azure
Adicionar uma dependência de pacote para
Microsoft.Agents.Storage.Blobs.Em
Program.cs, adicione (ou substitua o 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); });