Agenttikontekstin määrittäminen Azure-agentteihin

Huomautus

Copilot Studio -botti nimetään uudelleen Copilot agentiksi (agentiksi tai tekoälyagentiksi). Ihmisagentti nimetään nyt uudelleen customer service edustajaksi (palveluedustajaksi tai edustajaksi). Saatat löytää viittauksia vanhoihin ja uusiin termeihin, kun päivitämme tuotteen käyttöliittymää, dokumentaatiota ja koulutussisältöä.

Azure-agenttien tapauksessa sinun on asennettava agentti SDK ja alustattava monikanavainen väliohjelmisto, ennen kuin määrität agenttikontekstin.

Botin SDK:n asentaminen projektiin

  1. Jos haluat avata NuGet paketinhallintain, napsauta projektiasi hiiren kakkospainikkeella ja valitse sitten Hallitse NuGet-paketteja.

  2. Valitse NuGet paketinhallinta -kohdassa paketin lähde nimellä nuget.org ja selaa kohdetta "Microsoft.Dynamics.AgentsSDK.Middleware". Valitse paketti ja valitse sitten Asenna. Lue lisää Nuget-sivulta.

    Vaihtoehtoisesti voit käyttää seuraavaa komentoa kohdassa NuGet CLI.

    Install-Package Microsoft.Dynamics.AgentsSDK.Middleware
    

Agentti SDK on nyt asennettu ja monikanavainen väliohjelmisto on käytettävissä projektissasi.

Monikanavaisen väliohjelmiston käyttö agenttikoodissa

  1. Avaa AdapterWithErrorHandler.cs tiedosto.

  2. Lisää tuontilauseke ja alusta Omnichannel-väliohjelmisto.

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

Seuraavat vaiheet

Jäsennä toiminnan JSON saadaksesi agenttikontekstin

Lähetä mukautettu konteksti
setContextProvider
Azure-agentin integroiminen