Tallennuksen käyttö agentissa

Tallennus on kriittinen osa Microsoft 365 -agenttien SDK:ta. Se antaa agenteille mahdollisuuden säilyttää keskustelutilan, käyttäjätiedot ja muut tiedot istuntojen välillä. SDK tukee erilaisia tallennusvaihtoehtoja, kuten:

  • Muistissa oleva tallennus
  • Azure Cosmos DB
  • Azure Blob -säilö
  • Mukautetut tallennuspalveluntarjoajat

Avainsäilytysvaihtoehdot

Agents SDK tarjoaa useita sisäänrakennettuja tallennuspalveluntarjoajia, joilla on omat käyttötapauksensa ja etunsa. Voit valita tallennuspalveluntarjoajan, joka parhaiten sopii agenttisi tarpeisiin. Voit myös toteuttaa oman mukautetun tallennuspalveluntarjoajan.

  1. Muistivarasto

    • Soveltuu testaus- ja kehitystarkoituksiin.
    • Tiedot tyhjennetään, kun agentti uudelleenkäynnistyy, joten se ei sovellu tuotantokäyttöön.
    • Tiedot ovat saatavilla vain verkkosovelluksen instanssissa, joten se ei sovellu klusterikäyttöön.
  2. Azure Cosmos DB

    • Maailmanlaajuisesti hajautettu, monimallitietokanta, joka sopii erinomaisesti tuotantoagenttien käyttöön.
    • Tukee osioitua tallennustilaa skaalautuvuuden ja suorituskyvyn parantamiseksi.
  3. Azure Blob -säilö

    • Optimoitu rakenteettoman datan, kuten tekstin tai binaaritiedostojen, tallentamiseen.
    • Yleisesti käytetty agentin tilan ja transkription tallennukseen.
  4. Mukautetut tallennusvaihtoehdot toteuttamalla IStorage

Eri tallennuspalveluntarjoajien käyttö

Muistivarasto

Kaikki esimerkit käyttävät kohdetta MemoryStorage. Tämä tallennus on epäpysyvä ja soveltuu vain kehitykseen ja testaukseen. Tuotantoympäristössä käytä pysyvämpää tallennusvaihtoehtoa, kuten Azure Cosmos DB:tä tai Azure Blob -säilöä.

Kohdassa Program.cs, rekisteröi MemoryStorage:

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

Azure CosmosDb-tallennus

  1. Lisää riippuvuus pakettiin Microsoft.Agents.Storage.CosmosDb.

  2. Lisää Program.cs:ssä (tai korvaa aiempi) IStorage rekisteröinti seuraavasti:

    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. Lue lisätietoja kohdasta CosmosDbPartitionedStorageOptions.

Azure Blob -säilö

  1. Lisää riippuvuus pakettiin Microsoft.Agents.Storage.Blobs.

  2. Lisää Program.cs:ssä (tai korvaa aiempi) IStorage rekisteröinti seuraavasti:

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