Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'archiviazione è un componente fondamentale di SDK per agenti Microsoft, consentendo agli agenti di rendere persistenti lo stato della conversazione, i dati utente e altre informazioni tra le sessioni. Supporta varie opzioni di archiviazione, tra cui archiviazione in memoria, Azure Cosmos DB, Archiviazione BLOB di Azure e consente provider di archiviazione personalizzati.
Opzioni di archiviazione delle chiavi
Archiviazione in memoria
- Adatta per scopi di test e sviluppo.
- I dati vengono cancellati al riavvio dell'agente, rendendola non adatta per la produzione.
- I dati sono disponibili solo nell'istanza dell'app Web, rendendola non adatta durante l'esecuzione in un cluster.
Azure Cosmos DB, un servizio di database distribuito globale di Microsoft
- Un database multimodello distribuito a livello globale è ideale per gli agenti di produzione.
- Supporta l'archiviazione partizionata per scalabilità e prestazioni.
Blob Storage di Azure
- Ottimizzato per l'archiviazione di dati non strutturati come file di testo o binari.
- Comunemente usato per l'archiviazione dello stato e della trascrizione dell'agente.
Le opzioni di archiviazione personalizzate possono essere fornite implementando
IStorage
Uso di provider di archiviazione diversi
Archiviazione in memoria
Tutti gli esempi usano MemoryStorage
Per .NET, In Program.cs, registrare MemoryStorage
builder.Services.AddSingleton<IStorage, MemoryStorage>();
Archiviazione Azure Cosmos DB
Per .NET:
Aggiungi una dipendenza del pacchetto per
Microsoft.Agents.Storage.CosmosDbIn Program.cs aggiungi o sostituisci la registrazione esistente
IStoragecon: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); });Per altri dettagli, vedere
CosmosDbPartitionedStorageOptions.
Archiviazione BLOB di Azure
Per .NET:
Aggiungi una dipendenza del pacchetto per
Microsoft.Agents.Storage.BlobsIn Program.cs aggiungi o sostituisci la registrazione esistente
IStoragecon: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); });