Azure aracılarında aracı bağlamını yapılandırma

Uyarı

Copilot Studio bot, Copilot ajanı (ajan veya yapay zeka ajanı) olarak yeniden adlandırılır. İnsan temsilci artık müşteri hizmetleri temsilcisi (hizmet temsilcisi veya temsilci) olarak yeniden adlandırılıyor. Ürün kullanıcı arayüzünü, belgeleri ve eğitim içeriğini güncelleştirirken eski ve yeni terimlere referanslarla karşılaşabilirsiniz.

Azure aracıları için aracı bağlamını yapılandırmadan önce aracı SDK'sını yüklemeniz ve Omnichannel ara yazılımının örneğini oluşturmanız gerekir.

Bot SDK'sını projenize yükleme

  1. NuGet Paket Yöneticisi açmak için projenize sağ tıklayın ve ardından NuGet Paketlerini Yönet öğesini seçin.

  2. NuGet Paket Yöneticisi'nde, paket kaynağını nuget.org olarak seçin ve "Microsoft.Dynamics.AgentsSDK.Middleware" paketini arayın. Paketi seçin ve ardından Yükle'yi seçin. Nuget sayfasında daha fazla bilgi edinin.

    Alternatif olarak, NuGet CLI'da aşağıdaki komutu kullanabilirsiniz.

    Install-Package Microsoft.Dynamics.AgentsSDK.Middleware
    

Aracı SDK'sı artık yüklü ve Omnichannel ara yazılımı projenizde kullanılabilir.

Aracı kodunuzda Omnichannel ara yazılımını kullanma

  1. AdapterWithErrorHandler.cs dosyasını açın.

  2. İçeri aktarma deyimini seçin ve Çok Yönlü Kanal ara yazılımını oluşturun.

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

Sonraki Adımlar

Aracı bağlamını almak için etkinlik JSON'ını ayrıştırma

Özel bağlam gönder
setContextProvider
Bir Azure ajanını entegre etmek