Partager via


Configurer le contexte de l’agent dans les agents Azure

Note

Le bot Copilot Studio est renommé en assistant Copilot (assistant ou assistant IA). L’agent humain est désormais renommé Conseiller du service clientèle (représentant du service ou représentant). Vous pouvez rencontrer des références aux anciens et nouveaux termes pendant que nous mettons à jour l’interface utilisateur du produit, la documentation et le contenu de la formation.

Pour les agents Azure, vous devez installer le Kit de développement logiciel (SDK) de l’agent et instancier le middleware Omnichannel avant de configurer le contexte de l’agent.

Installer le Kit de développement logiciel (SDK) bot dans votre projet

  1. Pour ouvrir le Gestionnaire de package NuGet, cliquez avec le bouton droit sur votre projet, puis sélectionnez Gérer les packages NuGet.

  2. Dans le Gestionnaire de package NuGet, sélectionnez la source du package comme nuget.org et recherchez « Microsoft.Dynamics.AgentsSDK.Middleware ». Sélectionnez le package, puis sélectionnez Installer. En savoir plus dans la page Nuget.

    Vous pouvez également utiliser la commande suivante dans l’interface CLI NuGet.

    Install-Package Microsoft.Dynamics.AgentsSDK.Middleware
    

Le Kit de développement logiciel (SDK) de l’agent est maintenant installé et le middleware Omnichannel est disponible dans votre projet.

Utiliser l’intergiciel Omnichannel dans votre code d’agent

  1. Ouvrez le fichier AdapterWithErrorHandler.cs .

  2. Ajoutez l’instruction import et instanciez l’intergiciel 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;
        }
    }
    

Étapes suivantes

Analyser l’activité JSON pour obtenir le contexte de l’agent

Envoyer du contexte personnalisé
setContextProvider
Intégrer un assistant Azure