Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der Speicher ist eine wichtige Komponente des Microsoft Agents SDK, sodass Agents unterhaltungszustand, Benutzerdaten und andere Informationen über Sitzungen hinweg beibehalten können. Es unterstützt verschiedene Speicheroptionen, einschließlich Speicher im Arbeitsspeicher, Azure Cosmos DB, Azure Blobs Storage und ermöglicht benutzerdefinierte Speicheranbieter.
Schlüsselspeicheroptionen
Speicherspeicher
- Geeignet für Test- und Entwicklungszwecke.
- Daten werden gelöscht, wenn der Agent neu gestartet wird, sodass sie nicht für die Produktion geeignet ist.
- Daten sind nur in der Webapp-Instanz verfügbar, sodass sie nicht geeignet sind, wenn sie in einem Cluster ausgeführt werden.
Azure Cosmos DB
- Eine global verteilte, multimodellbasierte Datenbank ideal für Produktions-Agents.
- Unterstützt partitionierten Speicher für Skalierbarkeit und Leistung.
Azure Blob Storage (Speicherdienst von Azure für unstrukturierte Daten)
- Optimiert zum Speichern unstrukturierter Daten wie Text oder Binärdateien.
- Wird häufig für Agentstatus- und Transkriptspeicher verwendet.
Benutzerdefinierte Speicheroptionen können durch Implementieren von
IStoragebereitgestellt werden
Verwenden verschiedener Speicheranbieter
Speicherspeicher
Alle Beispiele verwenden MemoryStorage
Registrieren Sie für .NET in Program.cs MemoryStorage
builder.Services.AddSingleton<IStorage, MemoryStorage>();
Azure CosmosDb-Speicher
Für .NET:
Hinzufügen einer Paketabhängigkeit für
Microsoft.Agents.Storage.CosmosDbFügen Sie in Program.cs die vorhandene Registrierung hinzu (oder bestehende ersetzen)
IStorage: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); });Weitere Details finden Sie unter
CosmosDbPartitionedStorageOptions.
Azure Blob-Speicher
Für .NET:
Hinzufügen einer Paketabhängigkeit für
Microsoft.Agents.Storage.BlobsFügen Sie in Program.cs die vorhandene Registrierung hinzu (oder bestehende ersetzen)
IStorage: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); });