แชร์ผ่าน


กําหนดค่าบริบทตัวแทนในตัวแทน Azure

Note

บอท Copilot Studio ถูกเปลี่ยนชื่อเป็นเอเจนต์ Copilot (เอเจนต์หรือ เอเจนต์ AI) ตัวแทนที่เป็นมนุษย์เปลี่ยนชื่อเป็นเจ้าหน้าที่บริการลูกค้า (เจ้าหน้าที่บริการหรือเจ้าหน้าที่) คุณอาจพบการอ้างอิงถึงข้อกำหนดเก่าและใหม่ในขณะที่เราอัปเดต UI ของผลิตภัณฑ์ เอกสารประกอบ และเนื้อหาการฝึกอบรม

สําหรับตัวแทน Azure คุณต้องติดตั้ง SDK ตัวแทนและสร้างอินสแตนซ์ของมิดเดิลแวร์ Omnichannel ก่อนที่คุณจะกําหนดค่าบริบทของตัวแทน

ติดตั้งบอท SDK ในโครงการของคุณ

  1. ในการเปิด ตัวจัดการแพคเกจ NuGet ให้คลิกขวาที่โครงการของคุณ จากนั้นเลือก จัดการแพคเกจ NuGet

  2. ในตัวจัดการแพคเกจ NuGet เลือกแหล่งข้อมูลแพคเกจเป็น nuget.org และเรียกดูสําหรับ "Microsoft.Dynamics.AgentsDK.Middleware" เลือกแพคเกจ จากนั้นเลือก ติดตั้ง เรียนรู้เพิ่มเติมในหน้า Nuget

    อีกวิธีหนึ่งคือ คุณสามารถใช้คําสั่งต่อไปนี้ใน NuGet CLI

    Install-Package Microsoft.Dynamics.AgentsSDK.Middleware
    

ตอนนี้มีการติดตั้ง SDK ของตัวแทนและมิดเดิลแวร์ Omnichannel พร้อมใช้งานในโครงการของคุณ

ใช้มิดเดิลแวร์ Omnichannel ในรหัสตัวแทนของคุณ

  1. เปิดไฟล์ AdapterWithErrorHandler.cs

  2. เพิ่มคําสั่งนําเข้าและสร้างอินสแตนซ์มิดเดิลแวร์ Omnichannel

    using Microsoft.Dynamics.AgentsSDK.Middleware.Core; 
    Use(new OmnichannelMiddleware()); 
    
    using System.Globalization;
    using System.Text;
    using Microsoft.Agents.Connector;
    using Microsoft.Agents.Core;
    using Microsoft.Agents.Core.Errors;
    using Microsoft.Extensions.Logging;
    using Microsoft.Dynamics.AgentsSDK.Middleware.Core;
    
    namespace Microsoft.CCaaS.MessagingRuntime.TestAgent;
    
    public class AdapterWithErrorHandler : CloudAdapter
    {
        public AdapterWithErrorHandler(
            IChannelServiceClientFactory channelServiceClientFactory,
            IActivityTaskQueue activityTaskQueue,
            ILogger<CloudAdapter> logger)
            : base(channelServiceClientFactory, activityTaskQueue, logger)
        {
            // OmnichannelMiddleware has special handling for OC event messages
            Use(new OmnichannelMiddleware());
    
            OnTurnError = async (turnContext, exception) =>
            {
                var exceptionInfo = GetExceptionInfo(exception);
                logger.LogAppException(exceptionInfo, exception);
    
                // Send a message to the user
                await turnContext.SendActivityAsync($"The bot encountered an error or bug.{Environment.NewLine}{exceptionInfo}");
                await turnContext.SendActivityAsync("To continue to run this bot, please fix the bot source code.");
    
                // Send a trace activity, which will be displayed in the Bot Framework Emulator
                await turnContext.TraceActivityAsync("OnTurnError Trace", exception.Message, "https://www.botframework.com/schemas/error", "TurnError");
            };
        }
    
        private static string GetExceptionInfo(Exception exception)
        {
            var sb = new StringBuilder();
    
            // Pull some well known info from ErrorResponse.Exception if available.
            if (exception is ErrorResponseException responseException)
            {
                sb.AppendLine(CultureInfo.InvariantCulture, $"Error code: {responseException.Body?.Error?.Code ?? "NA"}");
                sb.AppendLine(CultureInfo.InvariantCulture, $"Error message: {responseException.Body?.Error?.Message ?? "NA"}");
            }
    
            sb.AppendLine(CultureInfo.InvariantCulture, $"Exception message: {exception.Message}");
            sb.AppendLine();
            sb.AppendLine(exception.ToString());
    
            var exceptionInfo = sb.ToString();
            return exceptionInfo;
        }
    }
    

ขั้นตอนถัดไป

แยกวิเคราะห์กิจกรรม JSON เพื่อรับบริบทของตัวแทน

ส่งบริบทที่กําหนดเอง
setContextProvider
รวมเอเจนต์ Azure