Agenttien SDK-tallennustilan yleiskatsaus

Tallennus on Microsoft Agents SDK:n tärkeä osa, jonka ansiosta agentit voivat säilyttää keskustelutilan, käyttäjätiedot ja muut tiedot istunnot. Se tukee erilaisia tallennusvaihtoehtoja, kuten muistissa tallennustilaa, Azure Cosmos DB:tä, Azure Blobs -tallennustilaa, ja mahdollistaa mukautetut tallennuspalvelut.

Tärkeimmät tallennustilavaihtoehdot

  1. Muistitallennustila

    • Sopii testaukseen ja kehitykseen.
    • Tiedot tyhjennetään, kun agentti käynnistyy uudelleen, mikä tekee siitä sopimattoman tuotantoon.
    • Tiedot ovat käytettävissä vain webapp-esiintymässä, mikä tekee siitä sopimattoman, kun sitä suoritetaan klusterissa.
  2. Azure Cosmos DB

    • Maailmanlaajuisesti hajautettu monimallinen tietokanta, joka sopii ihanteellisesti tuotantoagenteille.
    • Tukee osioituja tallennustilaa skaalattavuuden ja suorituskyvyn takaamista varten.
  3. Azure Blob -säilö

    • Optimoitu rakenteettomien tietojen, kuten tekstin tai binaaritiedostojen, tallentamiseen.
    • Yleisesti käytetty agenttitilan ja transkriptien tallennukseen.
  4. Mukautetut tallennusasetukset voidaan tarjota ottamalla käyttöön IStorage

Eri tallennuspalvelujen tarjoajan käyttäminen

Muistitallennustila

Kaikissa näytteissä käytetään MemoryStorage

Rekisteröi Program.cs:ssä .NET MemoryStorage

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

Azure CosmosDb -tallennustila

.NET:lle:

  1. Paketin riippuvuuden lisääminen lle Microsoft.Agents.Storage.CosmosDb

  2. Lisää Program.cs rekisteröinti (tai korvaa olemassa oleva) IStorage käyttämällä:

    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. Lisätietoja on ohjeaiheessa CosmosDbPartitionedStorageOptions.

Azure Blob -säilö

.NET:lle:

  1. Paketin riippuvuuden lisääminen lle Microsoft.Agents.Storage.Blobs

  2. Lisää Program.cs rekisteröinti (tai korvaa olemassa oleva) IStorage käyttämällä:

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