השתמש באחסון בסוכן שלך

אחסון הוא רכיב קריטי של Microsoft 365 Agents SDK. היא מאפשרת לסוכנים להשאיר את מצב השיחה, נתוני המשתמש ומידע אחר בהפעלות השונות. ה- SDK תומך במגוון אפשרויות אחסון, כולל:

  • אחסון בתוך הזיכרון
  • Azure Cosmos DB
  • אחסון Blob של Azure‬
  • ספקי אחסון מותאמים אישית

אפשרויות אחסון מרכזיות

ה- SDK של הסוכנים מספק כמה ספקי אחסון מוכללים, שכל אחד מהם כולל מקרי שימוש ויתרונות משלו. באפשרותך לבחור את האפשרות המתאימה ביותר לצרכי הסוכן שלך. באפשרותך גם ליישם ספק אחסון מותאם אישית משלך.

  1. אחסון זיכרון

    • מתאים למטרות בדיקה ופיתוח.
    • הנתונים נמחקים כאשר הסוכן מופעל מחדש, ולכן זה אינו מתאים לסביבת ייצור.
    • הנתונים זמינים במופע של יישום האינטרנט בלבד, ולכן הם אינם ניתנים להתאמה בעת הפעלה באשכול.
  2. Azure Cosmos DB

    • מסד נתונים של ריבוי מודלים, בעל התפלגות גלובלית, אידיאלי לנציגי ייצור.
    • תומך באחסון מחולק למחיצות לקבלת מדרגיות וביצועים משופרים.
  3. אחסון Blob של Azure‬

    • ממוטב לאחסון נתונים לא משותפים, כגון טקסט או קבצים בינאריים.
    • משמש בדרך כלל עבור מצב סוכן ואחסון תעתיקים.
  4. אפשרויות אחסון מותאמות אישית על-ידי יישום IStorage

שימוש בספקי אחסון שונים

אחסון זיכרון

כל הדוגמאות משתמשות ב- MemoryStorage. אחסון זה הוא נדיפות ומתאים לפיתוח ולבדיקה בלבד. עבור תרחישי ייצור, השתמש באפשרות אחסון עמידה יותר, כגון Azure Cosmos DB או Azure Blob Storage.

ב־Program.cs, הירשם MemoryStorage:

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

אחסון Azure CosmosDb

  1. הוסף תלות בחבילה עבור Microsoft.Agents.Storage.CosmosDb.

  2. ב Program.cs- , הוסף (או החלף רישום קיים) IStorage ב:

    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. קבל מידע נוסף ב- CosmosDbPartitionedStorageOptions.

אחסון Azure Blob

  1. הוסף תלות בחבילה עבור Microsoft.Agents.Storage.Blobs.

  2. ב Program.cs- , הוסף (או החלף רישום קיים) IStorage ב:

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