Partager via


Configurer et créer des assistants multilingues

Les agents multilingues communiquent avec les clients dans différentes langues tout en conservant tout le contenu d’un seul agent. Dans de nombreux cas, ils détectent automatiquement la langue souhaitée en fonction du paramètre de navigateur web de l’utilisateur de l’agent et répondent dans la même langue, fournissant une expérience plus personnalisée et attrayante pour les clients.

Lorsque vous créez un agent, vous spécifiez sa langue principale.

Après avoir ajouté des langues secondaires à un agent, vous êtes responsable de la fourniture des traductions des messages dans les rubriques que vous créez. Pour les agents qui utilisent l’orchestration générative, les messages générés sont traduits automatiquement.

Lorsqu’un client démarre une session avec un agent publié, l’agent sélectionne l’une de ses langues pour qu’il corresponde à la langue spécifiée dans le client ou le navigateur du client. Si l’agent ne peut pas détecter la langue du client ou du navigateur, ou si la langue détectée n’est pas l’une des langues que vous avez spécifiées pour votre agent, l’agent est défini par défaut sur sa langue principale.

Vous pouvez concevoir un agent pour modifier la langue qu’il utilise lors d’une conversation (voir Faire basculer un agent vers une autre langue). Vous pouvez également configurer un agent qui utilise l’orchestration générative pour changer dynamiquement de langage pour suivre la langue utilisée dans le tour de conversation actuel (voir Configurer un agent pour le changement de langage dynamique).

Pour la liste des langues prises en charge, voir Prise en charge des langues.

Note

Les chatbots classiques ne prennent en charge qu’une seule langue. Pour plus d’informations sur la conversion d’un chatbot classique avec un assistant, consultez Mettre à niveau vers la création unifiée Copilot Studio.

Ajouter des langues à un agent

  1. Accédez à la page Paramètres de l’agent, puis sélectionnez Langues.

  2. Sélectionnez Ajouter des langues.

  3. Dans le volet Ajouter des langues , sélectionnez les langues que vous souhaitez ajouter à l’agent, puis sélectionnez Ajouter.

  4. Passez en revue la liste des langues et fermez la page Paramètres .

Gérer la localisation d’un agent multilingue

Dans Copilot Studio, vous effectuez toutes les modifications de rubrique et de contenu dans la langue principale de l’agent. Cette section explique comment télécharger des chaînes de texte depuis votre agent et les traduire dans les langues secondaires de votre agent. Une fois que vous avez chargé les chaînes traduites, vous pouvez changer la langue dans le panneau de test et vérifier que les conversations dans les langues secondaires circulent également comme prévu.

Préparer le contenu localisé

Lorsque vous téléchargez d’abord le fichier de localisation pour une langue secondaire, toutes les chaînes se trouvent dans la langue principale de l’agent. Après avoir téléchargé un fichier de localisation, utilisez-le avec le processus de localisation de votre choix.

  1. Accédez à la page Paramètres de votre agent, puis sélectionnez Langues.

  2. Dans la page Langues , dans la liste des langues secondaires, sélectionnez Charger pour la langue que vous souhaitez mettre à jour.

  3. Dans le panneau Mettre à jour les localisations , sélectionnez le format JSON ou ResX pour télécharger le fichier de localisation actuel pour cette langue.

    Note

    Le fichier téléchargé contient le contenu de localisation le plus récent pour l’assistant. Si vous devez télécharger les versions précédentes du fichier de localisation, ouvrez la solution de l’agent.

  4. Ouvrez le fichier téléchargé et remplacez les chaînes de la langue principale par le texte traduit approprié.

  5. Revenez au panneau Localisations de mise à jour , sélectionnez Parcourir et chargez le fichier traduit.

  6. Fermez le panneau Localisations de mise à jour et la page Paramètres .

Mettre à jour le contenu localisé

Si vous apportez des modifications aux chaînes de langue primaire, vous devez également mettre à jour le contenu dans les langues secondaires. Ce processus inclut à la fois le nouveau contenu et le contenu modifié. Les modifications incrémentielles ne sont pas automatiquement traduites. Vous devez télécharger le fichier JSON ou ResX de la langue secondaire et mettre à jour les chaînes non traduites à l’aide du processus de localisation de votre choix.

Le scénario suivant est typique du workflow pour le contenu traduit. Vous avez précédemment traduit votre langue principale (en-US) dans une langue secondaire (fr-FR) et vous avez ajouté et modifié du contenu dans la langue principale. Lorsque vous téléchargez le fichier de localisation pour la langue secondaire, tout le nouveau contenu se trouve dans la langue principale (en-US). Toutefois, le contenu modifié apparaît toujours dans la langue secondaire. Étant donné que le contenu modifié utilise le même ID, vous devez comparer le nouveau fichier au fichier précédemment chargé.

Rendre le contenu dynamique à partir de cartes adaptatives disponibles pour la localisation

Les fichiers de localisation n’incluent pas de chaînes typées mixtes à partir de cartes adaptatives. Si vous devez localiser une carte adaptative dans laquelle une chaîne peut inclure à la fois du texte statique et des variables (contenu dynamique), utilisez la solution de contournement suivante. La procédure vous montre comment utiliser un nœud de variable de texte Set pour stocker la chaîne complète avec le texte statique et les variables dans une variable intermédiaire. Vous référencez ensuite uniquement cette variable intermédiaire dans votre carte adaptative. Lorsque vous téléchargez un fichier de localisation pour votre agent, la valeur de votre variable intermédiaire, avec le texte statique et les références de variables, est disponible pour la localisation dans le cadre d’une setVariable action.

Pour rendre le contenu dynamique d’une carte adaptative localisable :

  1. Ajoutez un nœud Définir la valeur de la variable avant votre Carte Adaptive. Cette étape crée une représentation YAML que vous pouvez mettre à jour à l’aide de l’éditeur de code pour convertir le nœud en nœud de variable de texte Set . Vous ne pouvez pas créer de nœuds de variable de texte directement à partir du canevas de création.

  2. Dans le nœud Définir la valeur de la variable, créez une variable, mais ne définissez pas encore la valeur.

  3. Ouvrez l’éditeur de code de votre rubrique.

  4. Dans l’éditeur de code, recherchez la partie qui représente votre nœud Définir la valeur de la variable et remplacez kind: SetVariable par kind: SetTextVariable. Cette modification convertit votre nœud Définir la valeur de la variable en un nœud Définir la variable de texte.

  5. Fermer l’éditeur de code.

  6. Sélectionnez le champ inférieur du nœud définir la variable de texte et entrez la chaîne complète avec le texte statique et les variables que vous souhaitez afficher sur votre carte adaptative. Insérez une variable de la même façon que vous inséreriez une variable dans un message.

  7. Mettez à jour votre carte adaptative avec une référence à cette nouvelle variable.

  8. Enregistrez votre rubrique. Vous pouvez maintenant télécharger le fichier de localisation et vérifier qu’il inclut le contenu dynamique de vos cartes adaptatives.

Tester un agent multilingue

  1. Ouvrez le panneau de test.

  2. Sélectionnez les trois points (...) en haut du panneau de test, puis sélectionnez la langue souhaitée. Le panneau de test se recharge, cette fois à l’aide de la langue sélectionnée. Le canevas de création reste dans la langue principale et vous ne pouvez pas enregistrer les modifications que vous apportez à une rubrique tant que vous n’avez pas basculé vers la langue primaire.

  3. Pour tester l’agent, entrez un message dans la langue sélectionnée.

Vous pouvez également définir la langue de votre navigateur sur l’une des langues de votre agent et accéder au site web de démonstration prédéfini. Le site web de démonstration s'ouvre dans la langue spécifiée, et l'agent discute dans cette langue.

Faire changer un agent de langue

Lors de la création, vous pouvez configurer l’agent pour basculer vers une autre langue au milieu d’une conversation. La logique peut résider dans n’importe quelle rubrique de l’assistant. Cependant, la meilleure pratique consiste à changer de langue directement après un nœud Question, ce qui garantit que tous les messages suivants jusqu’au nœud Question suivant sont dans la même langue.

Pour modifier la langue actuelle de l’agent, définissez la User.Languagevariable système sur l’une des langues secondaires de votre agent. Cette sélection change immédiatement la langue parlée par votre assistant.

Configurer un agent pour le changement de langage dynamique

Note

Cette fonctionnalité n’est disponible que pour les assistants pour lesquels l’orchestration générative est activée.

Vous pouvez configurer un agent pour détecter la langue utilisée par le client et répondre dans la même langue. Avec cette configuration, l’agent peut changer de langue plusieurs fois au cours d’une seule conversation. Le scénario suivant montre comment configurer un agent pour basculer entre le néerlandais et l’anglais. Vous pouvez l’étendre pour n’importe quelle combinaison des langues prises en charge par votre agent.

Ce scénario utilise un sujet avec un déclencheur de sujet message reçu. Ce déclencheur de rubrique permet à votre agent d’examiner chaque message qu’il reçoit. Cette rubrique utilise une invite personnalisée pour détecter la langue et une condition pour définir la variable système de langage de l’agent.

  1. Créez une rubrique.

  2. Remplacez le type de déclencheur par défaut pour la rubrique par un message est reçu.

  3. Ajoutez une invite à votre rubrique :

    1. Sélectionnez l’icône Ajouter un nœud sous le nœud Déclencheur.

    2. Sélectionnez Ajouter un outil>Nouvelle invite.

    3. Dans l’éditeur d’invite, entrez un nom représentatif pour votre invite, par exemple « Détecter la langue ».

    4. Dans le volet Instructions , entrez « Déterminer la langue dans laquelle ce message est écrit : ».

    5. En bas du volet Instructions , sélectionnez Ajouter du contenu , puis sélectionnez Texte. Une fenêtre s’affiche pour vous inviter à entrer un nom et un exemple de message.

    6. Pour Nom, entrez « Message ». Pour obtenir des exemples de données, entrez « Message de l’utilisateur », puis sélectionnez Fermer.

    7. Dans le volet de réponse du modèle , basculez le format sortie vers JSON.

    8. Sélectionnez Test. Votre invite affiche un littéral JSON, avec une propriété unique indiquant que la langue est l’anglais.

      Capture d’écran d’une invite configurée pour détecter la langue d’un message.

    9. Cliquez sur Enregistrer. Un nœud d’invite s’affiche sur le canevas.

  4. Configurez le nœud Prompt :

    1. Pour Entrée, sélectionnez la variableActivity.Text système (texte du message entrant).
    2. Pour Output, créez une variable appelée DetectedLanguage.
  5. Branchez votre logique en fonction du langage détecté :

    1. Ajoutez une condition sous le nœud Prompt.

    2. Basez votre condition sur la variable DetectedLanguage.structuredOutput.languagepersonnalisée, qui contient le nom de la langue détectée.

    3. Ajoutez une branche de condition pour chaque langue que vous devez détecter.

    4. Sous chaque branche, ajoutez un nœud Définir la valeur de la variable pour définir la User.Language variable système en conséquence. L’image suivante montre une rubrique avec une condition pour basculer entre le néerlandais et l’anglais.

      Capture d’écran de la rubrique qui détecte et change la langue de l’agent.

Résoudre les problèmes d’un agent multilingue

Cette section fournit des conseils pour comprendre le comportement inattendu de l’agent multilingue.

Comportement de l’assistant multilingue pour les langues qui ne sont pas configurées

Si un utilisateur configure son navigateur pour une langue que vous n’avez pas configurée pour l’agent, l’agent revient à sa langue principale.

Vous spécifiez la langue principale d’un agent lorsque vous créez l’agent. Vous ne pouvez pas modifier la langue primaire après la création, mais vous pouvez modifier la région pour la langue primaire de l’agent, si plusieurs régions sont disponibles.

Comportement de l’assistant multilingue pour les traductions manquantes

Si vous ajoutez des messages à un agent dans sa langue principale, mais que vous ne chargez pas les traductions pour les nouveaux messages, l’agent affiche les modifications non traduites dans sa langue principale. Vérifiez toujours que les traductions sont up-to-date après avoir apporté des modifications à un agent.

Les fichiers de localisation n’incluent pas de chaînes typées mixtes à partir de cartes adaptatives. Si vous devez localiser des cartes adaptatives où une chaîne peut inclure à la fois du texte statique et des variables (contenu dynamique), vous devez utiliser une solution de contournement. Découvrez comment stocker une chaîne typée mixte dans une variable de texte avant de l’utiliser dans une carte adaptative.

Erreurs lors de la publication d’un assistant multilingue

Lorsque vous tentez de publier un agent multilingue, si le message d’erreur « échec de la validation pour le bot » accompagné du code d’erreur de réponse brute, SynonymsNotUnique, apparaît, votre fichier de localisation contient des synonymes en double ou un synonyme qui correspond à une valeur de DisplayName. Vous rencontrez généralement cette erreur lorsqu’un nœud contient un Entity.Definition.'closedListItem' emplacement où l’un des scénarios suivants s’est produit :

  • L’un des Synonyms éléments n’est pas unique.
  • L’un des éléments Synonyms a la même valeur que l’élément DisplayName.

Tous les éléments Synonyms d’une même entité doivent être uniques et avoir un nom différent de celui de l’élément DisplayName.

Pour corriger l’erreur, passez en revue le fichier JSON ou ResX de votre langue secondaire et identifiez les instances où cette condition peut être présente.