Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Lagring er en kritisk komponent i SDK for Microsoft 365-agenter. Den lar agenter bevare samtaletilstand, brukerdata og annen informasjon på tvers av økter. SDK-en støtter ulike lagringsalternativer, inkludert:
- Lagring i minnet
- Azure Cosmos DB
- Azure Blob Storage
- Egendefinerte lagringsleverandører
Viktige lagringsalternativer
SDK for agenter tilbyr flere innebygde lagringsleverandører, hver med sine egne bruksområder og fordeler. Du kan velge den som passer best til agentens behov. Du kan også implementere din egen tilpassede lagringsleverandør.
Minnelagring
- Egnet for test- og utviklingsformål.
- Data fjernes når agenten starter på nytt og er dermed uegnet for produksjon.
- Data er bare tilgjengelig i nettappforekomsten og er dermed uegnet når du kjører i en klynge.
Azure Cosmos DB
- En globalt distribuert database med flere modeller som er ideell for produksjonsagenter.
- Støtter partisjonert lagringsplass for skalerbarhet og ytelse.
Azure Blob Storage
- Optimalisert for lagring av ustrukturerte data, for eksempel tekst eller binære filer.
- Brukes vanligvis for agenttilstand og utskriftslagring.
Tilpassede lagringsalternativer ved å implementere
IStorage
Bruk av ulike lagringsleverandører
Minnelagring
Alle eksempler bruker MemoryStorage. Denne lagringen er flyktig og bare egnet til utvikling og testing. For produksjonsscenarioer velger du et mer pålitelig lagringsalternativ som Azure Cosmos DB eller Azure Blob Storage.
Registrer MemoryStorage i Program.cs:
builder.Services.AddSingleton<IStorage, MemoryStorage>();
Azure CosmosDb-lagring
Legg til en pakkeavhengighet for
Microsoft.Agents.Storage.CosmosDb.Legg til (eller erstatt eksisterende)
IStorage-registrering iProgram.csmed: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); });Mer informasjon i
CosmosDbPartitionedStorageOptions.
Azure Blob Storage
Legg til en pakkeavhengighet for
Microsoft.Agents.Storage.Blobs.Legg til (eller erstatt eksisterende)
IStorage-registrering iProgram.csmed: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); });