Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Przechowywanie jest kluczowym elementem SDK Microsoft 365 Agents. Umożliwia agentom przechowywanie stanu rozmowy, danych użytkownika oraz innych informacji podczas różnych sesji. SDK obsługuje różne opcje przechowywania, w tym:
- Przechowywanie w pamięci operacyjnej
- Azure Cosmos DB
- Azure Blob Storage
- Niestandardowi dostawcy pamięci masowej
Kluczowe opcje przechowywania
Agents SDK oferuje kilka wbudowanych dostawców pamięci masowej, z których każdy ma własne zastosowania i korzyści. Możesz wybrać taki, który najlepiej odpowiada potrzebom Twojego agenta. Możesz też zaimplementować własnego niestandardowego dostawcę pamięci masowej.
Przechowywanie w pamięci operacyjnej
- Nadaje się do celów testowych i rozwojowych.
- Dane są usuwane po ponownym uruchomieniu agenta, więc nie nadaje się do produkcji.
- Dane są dostępne tylko w instancji aplikacji internetowej, więc nie nadaje się do działania w klastrze.
Azure Cosmos DB
- Globalnie dystrybuowana, wielomodelowa baza danych idealna dla agentów produkcyjnych.
- Obsługuje partycjonowane przechowywanie dla skalowalności i wydajności.
Azure Blob Storage
- Zoptymalizowany do przechowywania danych nieustrukturyzowanych, takich jak pliki tekstowe lub binarne.
- Powszechnie używany do przechowywania stanu agenta oraz transkrypcji.
Opcje niestandardowego przechowywania poprzez implementację
IStorage
Korzystanie z różnych dostawców pamięci masowej
Przechowywanie w pamięci operacyjnej
We wszystkich przykładach użyto MemoryStorage. To przechowywanie jest nietrwałe i nadaje się wyłącznie do celów deweloperskich i testowych. W scenariuszach produkcyjnych używaj bardziej trwałej opcji przechowywania, takiej jak Azure Cosmos DB lub Azure Blob Storage.
W Program.cs należy zarejestrować MemoryStorage:
builder.Services.AddSingleton<IStorage, MemoryStorage>();
Azure CosmosDb storage
Dodaj zależność dla pakietu
Microsoft.Agents.Storage.CosmosDb.W
Program.cs, dodaj (lub zastąp istniejącą)IStoragerejestrację przez: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); });Więcej informacji pod adresem:
CosmosDbPartitionedStorageOptions.
Azure Blob Storage
Dodaj zależność dla pakietu
Microsoft.Agents.Storage.Blobs.W
Program.cs, dodaj (lub zastąp istniejącą)IStoragerejestrację przez: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); });