Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O armazenamento é um componente crítico do SDK de Agentes do Microsoft 365. Permite que os agentes persistam o estado da conversa, is dados do utilizador e outras informações ao longo das sessões. O SDK suporta várias opções de armazenamento, incluindo:
- Armazenamento na memória
- Azure Cosmos DB
- Armazenamento de Blobs do Azure
- Fornecedores de armazenamento personalizados
Principais opções de armazenamento
O SDK de Agentes fornece vários fornecedores de armazenamento incorporados, cada um com os seus próprios casos de utilização e benefícios. Pode escolher aquele que melhor se adequa às necessidades do seu agente. Também pode implementar o seu próprio fornecedor de armazenamento personalizado.
Armazenamento de memória
- Adequado para fins de teste e desenvolvimento.
- Os dados são limpos quando o agente é reiniciado, tornando-os inadequados para produção.
- Os dados só estão disponíveis na instância de aplicação Web, tornando-os inadequados quando executados num cluster.
Azure Cosmos DB
- Uma base de dados multimodelo distribuída globalmente, ideal para agentes de produção.
- Suporta armazenamento particionado para escalabilidade e desempenho.
Armazenamento de Blobs do Azure
- Otimizado para armazenar dados não estruturados, como texto ou ficheiros binários.
- Comumente utilizado para armazenamento do estado e de transcrições do agente.
Opções de armazenamento personalizadas por meio da implementação de
IStorage
Utilizar diferentes fornecedores de armazenamento
Armazenamento de memória
Todos os exemplos utilizam MemoryStorage. Este armazenamento é volátil e adequado apenas para desenvolvimento e teste. Para cenários de produção, utilize uma opção de armazenamento mais durável como o Azure Cosmos DB ou o Armazenamento de Blobs do Azure.
Em Program.cs, registe MemoryStorage:
builder.Services.AddSingleton<IStorage, MemoryStorage>();
Armazenamento do Azure Cosmos DB
Adicione uma dependência de pacote para
Microsoft.Agents.Storage.CosmosDb.Em
Program.cs, adicione (ou substitua o existente) o registoIStoragepor: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
Adicione uma dependência de pacote para
Microsoft.Agents.Storage.Blobs.Em
Program.cs, adicione (ou substitua o existente) o registoIStoragepor: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); });