Oversigt over SDK-lager for agenter

Lagring er en vigtig komponent i Microsoft Agents SDK, der gør det muligt for agenter at bevare samtaletilstanden, brugerdata og andre oplysninger på tværs af sessioner. Den understøtter forskellige lagermuligheder, herunder lager i hukommelsen, Azure Cosmos DB, Azure Blobs Storage og giver mulighed for brugerdefinerede lagerudbydere.

Vigtige lagringsindstillinger

  1. Hukommelseslager

    • Egnet til test- og udviklingsformål.
    • Data ryddes, når agenten genstarter, hvilket gør dem uegnede til produktion.
    • Data er kun tilgængelige på webappforekomsten, hvilket gør dem uegnede, når de kører i en klynge.
  2. Azure Cosmos DB

    • En globalt distribueret database med flere modeller, der er ideel til produktionsagenter.
    • Understøtter opdelt lager for skalerbarhed og ydeevne.
  3. Azure Blob Storage

    • Optimeret til lagring af ustrukturerede data, f.eks. tekst eller binære filer.
    • Bruges ofte til agenttilstand og transskriptionslager.
  4. Du kan få brugerdefinerede lagerindstillinger ved at implementere IStorage

Brug af forskellige lagerudbydere

Hukommelseslager

Alle eksempler bruges MemoryStorage

Registrer for .NET i Program.cs MemoryStorage

builder.Services.AddSingleton<IStorage, MemoryStorage>();

Azure CosmosDb-lager

For .NET:

  1. Tilføj en pakkeafhængighed for Microsoft.Agents.Storage.CosmosDb

  2. I Program.cs skal du tilføje (eller erstatte eksisterende) IStorage registrering med:

    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);
    });
    
  3. Se flere oplysninger her CosmosDbPartitionedStorageOptions.

Azure blob Storage

For .NET:

  1. Tilføj en pakkeafhængighed for Microsoft.Agents.Storage.Blobs

  2. I Program.cs skal du tilføje (eller erstatte eksisterende) IStorage registrering med:

    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);
    });