Contrôle d’entrée de l’utilisateur à choix dynamique

  • Rversion finale: Xanadu
  • Mis à jour 12 août 2024
  • 16 minutes de lecture
  • Utilisez le contrôle d’entrée utilisateur Choix dynamique d’une Agent virtuel rubrique pour créer dynamiquement une liste des choix disponibles pour vos utilisateurs. Créez ces choix en interrogeant une table ou en utilisant un script pour les créer dynamiquement.

    Affichage de la liste de choix

    La liste de choix dynamiques contient jusqu’à 10 éléments par page. Lorsqu’il existe plus de 10 éléments, vous pouvez afficher les éléments supplémentaires et filtrer les résultats de la recherche. L’invite de liste de choix contient une icône de recherche que les utilisateurs peuvent sélectionner pour filtrer les résultats.

    Conseil :
    Si vous souhaitez modifier le nombre par défaut d’éléments répertoriés par page, vous pouvez modifier la com.glide.cs.picker_page_limit propriété système. La valeur par défaut est de 10.

    Si l’option Sélection de choix multiples est activée, vous pouvez effectuer une recherche dans le champ Rechercher des options pour filtrer les résultats de recherche. Sélectionnez ou tapez tous les choix qui s’appliquent, puis sélectionnez l’icône d’envoi Icône de flèche d’envoi. Lorsque vous envoyez vos choix via un LLM (grand modèle de langage) activé, Agent virtuelle LLM répond en indiquant si vos choix répondent aux critères de validation.

    Vous pouvez également sélectionner un ou plusieurs choix dans une liste dans une conversation compatible LLM en saisissant un énoncé dans la fenêtre de messagerie instantanée. S’il n’y a pas de correspondance pour votre entrée, le Agent virtuel vous informe qu’il ne s’agit pas d’un choix valide et vous invite à essayer une entrée différente.

    Le contrôle Choix dynamique offre également la possibilité d’ajouter une carte d’en-tête qui s’affiche au-dessus de la liste de choix. Les cartes d’en-tête sont prises en charge dans les canaux Web et mobile.
    • La carte d’en-tête peut contenir une image grande ou petite ou une carte vidéo YouTube, ainsi qu’un texte descriptif. La liste de choix contient jusqu’à cinq éléments par défaut, mais la fonctionnalité de recherche est supprimée. S’il y a plus de cinq éléments, les utilisateurs peuvent choisir d’afficher les éléments supplémentaires.

    • Pour contrôler le nombre d’éléments affichés sous une carte d’en-tête, ajoutez la com.glide.cs.web_header_picker_page_limit propriété système. Utilisez la valeur pour spécifier le nombre d’éléments dans la liste de choix. Pour plus d’informations sur la création d’une propriété système, consultez Ajouter une propriété système.

    Remarque :

    Si vous remplissez un nœud de liste de choix dynamiques avec un seul choix, lors du test ou de l’utilisation du nœud, vous recevez un message indiquant « Nous avons [choix] en tant que [nom du nœud], est-ce correct ? ». Utilisez plusieurs choix dans le nœud de liste Choix dynamique pour éviter de recevoir ce message.



    Vous pouvez également modifier le contenu du message en accédant à TOUT > sys_properties.list et la modification de la glide.cs.retry_question_message propriété système. Cette valeur de message est par défaut une chaîne Nous avons {0} comme {1}, est-ce correct ? et est utilisé pour le remplissage d’emplacement dans plusieurs cas en dehors de la liste de choix dynamique. Toutes les modifications que vous apportez sont reflétées dans chaque utilisation de cette propriété.

    Propriétés du contrôle d’entrée de l’utilisateur à choix dynamique pour la découverte de rubriques LLM

    Propriété Description
    Nom du nœud Nom qui identifie ce nœud de contrôle de l’utilisateur de choix dynamique dans le flux de rubriques.
    Choix
    Renseignez les choix par Type de variable dynamique à utiliser. Sélectionnez l'une des options suivantes :
    • Enregistrement : renvoie les enregistrements de la table sélectionnée. Les valeurs de ces options sont des objets GlideRecord.
    • Script : expression qui renvoie un tableau d’options.
      Remarque :

      Pour des résultats de retour de pagination plus efficaces pour un jeu de données volumineux lors de l’utilisation d’une expression de script, examinez le script suivant et déterminez si vous souhaitez utiliser ce script :

      (function execute() {
       
      var pagingUtil = new global.VirtualAgentChoicePagingUtil(null, "sys_user", null, "user_name,name",
      "active=true", null, vaVars);
       
      var gr = pagingUtil.getPagingGlideRecordSecure("name", false);
      
      var options = pagingUtil.getSecureOptions(gr, null,'user_name', ['user_name','name']);
      
      return options;
      })()
      

      Pour plus d’informations sur les détails de scripting précédents, consultez les informations sur GlideRecords et les informations supplémentaires :

      • fieldName: le nom de champ est une information facultative. Passer avec null.
      • table: nom de table à interroger pour afficher les options disponibles.
      • pageSize: la taille de la page est une information facultative. Passer avec null.
      • searchColumns: colonnes de table dans une liste délimitée par des virgules qui s’applique à n’importe quel texte de recherche.
      • encodedQuery: requête initiale à appliquer aux lignes de la table. Par exemple, actif = vrai.
      • searchText: le texte recherché est une information facultative. Passer avec null.
      • vaVars: référence aux variables de contexte de l’agent virtuel (vaVars).
      • orderByColumn: colonne de table utilisée pour classer les options.
      • orderDescending: les options apparaissent par ordre décroissant. Seules les valeurs Vrai et Faux sont acceptées.
      • gr: nom de l’enregistrement Glide.
      • startRow: la ligne de départ est une information facultative. Passer avec null.
      • valueColumn: nom de colonne de table à utiliser comme valeur de chaque option.
      • labelColumns: tableau de colonnes de table à utiliser pour chaque affichage d’option.
    Table Si vous avez sélectionné Enregistrement comme méthode pour renseigner les choix, sélectionnez la table dans laquelle vous souhaitez effectuer la recherche.

    Ce champ n’est disponible que lorsque l’option Enregistrement est sélectionnée.

    Choix de filtres Option permettant d’utiliser le Concepteur d'agent virtuel générateur de conditions ou de fournir un script. Sélectionnez l'une des options suivantes :
    • Générateur de conditions : crée un filtre utilisé pour sélectionner un sous-ensemble d’enregistrements dans la table.
    • Script : Définit la liste d’énumération pour les options (liste de choix) à afficher. La paire nom-valeur est stockée sous la forme d’un objet de chaîne.

    Ce champ n’est disponible que lorsque l’option Enregistrement est sélectionnée.

    Autoriser l'utilisateur à sélectionner plus d'un choix Option permettant aux utilisateurs de choisir plusieurs choix dans la liste de choix.
    Avancés
    Carte d'en-tête

    Basculez pour ouvrir un champ afin d’ajouter des cartes qui peuvent inclure des images ou des vidéos YouTube. Pour plus d'informations, voir Insérer une carte d’en-tête dans un contrôle de choix statique ou de choix dynamique

    Appliquer l'invite utilisateur

    Activez/désactivez cette option pour ouvrir un champ pour un message personnalisé affiché à l’utilisateur au lieu du message généré par le grand modèle de langage (LLM). Vous pouvez créer des messages personnalisés en langage normal, saisir un script ou définir des conditions à l’aide du sélecteur de pastilles de données.

    Validation

    Ajoutez un script pour valider l’entrée de l’utilisateur. Par exemple, vérifiez si l’utilisateur a entré une adresse e-mail valide.

    Instructions supplémentaires pour LLM

    Instructions supplémentaires pour le LLM, telles que l’ajout de formats de données, de restrictions ou de valeurs par défaut pour les réponses utilisateur. Vous pouvez créer des instructions supplémentaires en langage normal, saisir un script ou définir des conditions à l’aide du sélecteur de pastilles de données.

    Masquer ou ignorer ce nœud
    Afficher conditionnellement ce nœud si

    Énoncé de condition no-code ou script low-code qui spécifie une condition de présentation de ce nœud dans la conversation. La condition doit être évaluée comme vraie.

    Autoriser l’utilisateur à ignorer ce nœud si

    Énoncé de condition no-code ou script low-code qui spécifie une condition permettant aux utilisateurs d’ignorer ce nœud dans la conversation. La condition doit être évaluée comme vraie. Vous pouvez définir ce champ à l’aide du générateur de conditions ou d’un script.

    Exemple de contrôle d’entrée utilisateur de choix dynamique pour la découverte de rubriques LLM

    Remarque :
    Concepteur d'agent virtuel Les commandes peuvent s’afficher et fonctionner différemment dans d’autres canaux.
    Propriétés d’entrée Invite de liste

    Les propriétés de base comprennent le nom, la description, le remplissage des choix par liste et les options de filtrage. Les options avancées incluent Carte d’en-tête, Appliquer l’invite utilisateur, Instructions supplémentaires à LLM et Masquer ou ignorer ce nœud.

    Figure 1. Invite de liste de choix dynamique de l’interface utilisateur Web
    Une liste de choix dynamiques renvoie une liste d’incidents créés par l’utilisateur.
    La liste de choix affiche 10 éléments par page. Lorsque 10 résultats ou plus sont renvoyés :
    • La liste inclut un lien à la fin de la liste pour afficher plus de résultats.
    • Une icône de recherche () s’affiche dans l’invite pour filtrer les résultats de recherche. Les utilisateurs sélectionnent l’icône pour ouvrir une zone de recherche et saisir le filtre.
    • Lorsque vous sélectionnez plusieurs choix, vous pouvez effectuer une recherche dans le champ Rechercher des options pour filtrer les résultats de recherche. Sélectionnez ou tapez tous les choix qui s’appliquent, puis sélectionnez l’icône d’envoi Icône de flèche d’envoi. Lorsque vous envoyez vos choix, le LLM vous répond en indiquant si vos choix répondent aux critères de validation.

    Propriétés de contrôle d’entrée de l’utilisateur à choix dynamique pour la découverte de rubriques NLU

    Propriété Description
    Nom du nœud Nom qui identifie ce nœud de contrôle de l’utilisateur de choix dynamique dans le flux de rubriques.
    Nom de variable Nom de la variable qui stocke la réponse de l’utilisateur à cette invite. Le nom de variable est automatiquement créé à partir de la propriété Nom de nœud .
    Invite

    Invite ou question pour l’utilisateur. L’invite peut être une chaîne de texte ou un script qui renvoie du texte. Cette valeur n’est utilisée que lorsque la valeur par défaut n’est pas spécifiée. Par exemple : Comment t’appelles-tu ?

    Vous pouvez créer du texte enrichi pour modifier le style de l’invite :
    • Utilisez des astérisques simples ou des traits de soulignement pour le texte en italique. Par exemple, *texte* ou _texte_.
    • Utilisez des doubles astérisques ou traits de soulignement pour le texte en gras. Par exemple, **texte** ou __text__.
    • Utilisez des astérisques triples ou des traits de soulignement pour le texte en italique et en gras. Par exemple, texte*** ou ___text___.
    • Utilisez un trait d’union espacé pour ajouter une puce à une ligne. Par exemple, - texte.
    • Utilisez un crochet à angle droit espacé pour créer un devis de bloc. Par exemple, > texte.
    • Utilisez entre une et six marques de hachage pour créer des en-têtes. Par exemple, #text# ou ######text######
    • Utilisez des crochets et des parenthèses pour créer un lien hypertexte. Par exemple, [Texte du lien](url). Ajoutez un point d’exclamation à un lien hypertexte pour afficher une image. Par exemple, ![ Texte alternatif](URL de l’image)
    Entité NLU

    Option permettant d’associer une NLU entité au nœud. Si une NLU entité est associée à la variable d’entrée pour ce nœud, Agent virtuel elle peut remplir le créneau de la valeur spécifiée en fonction de l’énoncé de l’utilisateur. Sélectionnez une entité dans la liste des entités associées à l’intention de la rubrique.

    Lorsque vous spécifiez une entité pour le nœud, le commutateur Ne pas demander aux utilisateurs de confirmer l’entité reconnue s’affiche. Lorsqu’elle est activée, les utilisateurs ne sont pas invités à confirmer l’entité extraite.

    Ce champ n’est disponible que lorsque NLU Discovery est activé sur l’instance.

    Choix
    Renseignez les choix par Type de variable dynamique à utiliser. Sélectionnez l'une des options suivantes :
    • Enregistrement : renvoie les enregistrements de la table sélectionnée. Les valeurs de ces options sont des objets GlideRecord.
    • Script : expression qui renvoie un tableau d’options.
    Table Si vous avez sélectionné Enregistrement comme méthode pour renseigner les choix, sélectionnez la table dans laquelle vous souhaitez effectuer la recherche.

    Ce champ n’est disponible que lorsque l’option Enregistrement est sélectionnée.

    Choix de filtres Option permettant d’utiliser le Concepteur d'agent virtuel générateur de conditions ou de fournir un script. Sélectionnez l'une des options suivantes :
    • Générateur de conditions : crée un filtre utilisé pour sélectionner un sous-ensemble d’enregistrements dans la table.
    • Script : Définit la liste d’énumération pour les options (liste de choix) à afficher. La paire nom-valeur est stockée sous la forme d’un objet de chaîne.

    Ce champ n’est disponible que lorsque l’option Enregistrement est sélectionnée.

    Autoriser l'utilisateur à sélectionner plus d'un choix Option permettant aux utilisateurs de choisir plusieurs choix dans la liste de choix.
    Aucun message de réponse d'enregistrement Message affiché à l’utilisateur lorsque la recherche dans la table ne renvoie aucun enregistrement. Le message peut être une chaîne de texte ou un script qui renvoie du texte.
    Avancés
    Carte d'en-tête

    Basculez pour ouvrir un champ afin d’ajouter des cartes qui peuvent inclure des images ou des vidéos YouTube. Pour plus d'informations, voir Insérer une carte d’en-tête dans un contrôle de choix statique ou de choix dynamique

    Valeur par défaut
    Valeur par défaut

    Valeur prédéfinie pour la réponse de l’utilisateur à la question ou à l’invite. La réponse définie dans le champ de confirmation de la valeur par défaut demande à l’utilisateur de confirmer la valeur par défaut. Si l’utilisateur répond non, la valeur devient nulle. La valeur par défaut peut être une chaîne de texte ou un script qui renvoie du texte. Par exemple, si vous utilisez la remontée pas à pas, la valeur par défaut peut être : Variables de script > Dernier nom d’utilisateur. Ou si vous utilisez un script, la valeur par défaut peut être : {{vaScripts.lastUsername}}.

    Messages de confirmation
    Confirmation de l'achèvement de l'entrée

    Réponse de l’agent affichée à l’utilisateur lorsque l’interaction du nœud est terminée. Le message peut être une chaîne de texte ou un script qui renvoie du texte. Par exemple, si vous utilisez la remontée pas à pas : Merci (variables d’entrée > nom d’utilisateur) ! Ou si vous utilisez un script, la confirmation peut être : Merci, {{vaInputs.username}} !

    Confirmation de la valeur par défaut

    Message qui demande à l’utilisateur de vérifier que la valeur dans le champ Valeur par défaut est correcte. Ce message est utilisé au lieu d’une valeur dans le champ Invite . Il peut contenir une chaîne de texte ou un script qui renvoie du texte. Par exemple, si vous utilisez la remontée pas à pas : êtes-vous (variables d’entrée > nom d’utilisateur) ? Ou si vous utilisez un script, le message de confirmation peut être : Êtes-vous {{vaScripts.lastUsername}} ?.

    Commutation de conversation
    Cette section n’est disponible que lorsque NLU Discovery est activé sur l’instance.
    Activer pour permettre aux utilisateurs de changer l'objet

    Option permettant d’activer NLU la prédiction pour ce nœud. Si cette option est activée, les utilisateurs peuvent saisir du texte pour répondre aux questions, quel que soit le type de contrôle d’entrée utilisé. Agent virtuel utilise cet énoncé pour correspondre à une autre intention existante, ce qui permet à l’utilisateur de changer de rubrique.

    Masquer ou ignorer ce nœud
    Afficher conditionnellement ce nœud si

    Énoncé de condition no-code ou script low-code qui spécifie une condition de présentation de ce nœud dans la conversation. La condition doit être évaluée comme vraie.

    Autoriser l’utilisateur à ignorer ce nœud si

    Énoncé de condition no-code ou script low-code qui spécifie une condition permettant aux utilisateurs d’ignorer ce nœud dans la conversation. La condition doit être évaluée comme vraie. Vous pouvez définir ce champ à l’aide du générateur de conditions ou d’un script.

    Ignorer la resollicitation si Énoncé de condition no-code ou script low-code qui spécifie une condition permettant aux utilisateurs d’ignorer la resollicitation dans la conversation. Lorsqu’un nœud précédent est revisité via un bouclage de rubrique ou une action de boîte de dialogue, Agent virtuel contourne ce nœud et conserve automatiquement sa valeur d’origine.

    Exemple de contrôle d’entrée utilisateur de choix dynamique pour la découverte de rubriques NLU

    Remarque :
    Concepteur d'agent virtuel Les commandes peuvent s’afficher et fonctionner différemment dans d’autres canaux.
    Propriétés d’entrée Invite de liste
    Figure 2. Propriétés de base du contrôle d’entrée de l’utilisateur à choix dynamique
    Les propriétés de base comprennent le nom du nœud, l’invite, l’entité NLU et la liste Renseigner les choix par.
    Figure 3. Invite de liste de choix dynamique de l’interface utilisateur Web
    Une liste de choix dynamiques renvoie une liste d’incidents créés par l’utilisateur.
    La liste de choix affiche 10 éléments par page. Lorsque 10 résultats ou plus sont renvoyés :
    • La liste inclut un lien à la fin de la liste pour afficher plus de résultats.
    • Une icône de recherche () s’affiche dans l’invite pour filtrer les résultats de recherche. Les utilisateurs sélectionnent l’icône pour ouvrir une zone de recherche et saisir le filtre.
    • Lorsque vous sélectionnez plusieurs choix, vous pouvez effectuer une recherche dans le champ Rechercher des options pour filtrer les résultats de recherche. Si vous entrez le script pour activer les champs secondaires trouvés dans cette rubrique, les résultats du filtre de recherche s’appliquent également aux champs secondaires. Sélectionnez ou entrez tous les choix qui s’appliquent, puis sélectionnez l’icône d’envoi icône Envoyer flèche.
    Figure 4. Invite de liste de choix dynamiques de l’interface utilisateur Web avec carte d’en-tête
    L’invite demande : « Que souhaitez-vous vérifier ? », suivie d’une photo et de l’en-tête d’un hôtel. Les choix comprennent la restauration, les suites et les installations.
    La liste de choix contient cinq éléments par page. Lorsque cinq résultats ou plus sont renvoyés, la liste fournit une option permettant d’afficher plus de résultats.
    Remarque :
    La fonction de recherche est supprimée lorsqu’une carte d’en-tête est utilisée.

    Exemples de scripts de choix dynamiques

    L’exemple de script suivant ne peut être utilisé dans le champ Définir les choix que si la valeur de Renseigner le choix par est définie sur Script. Ce script permet aux demandeurs d’afficher leurs choix précédemment sélectionnés s’ils choisissent de modifier leurs choix ultérieurement au cours de la conversation. Ce script affiche également des champs secondaires pour les demandeurs, tels qu’une adresse e-mail, un marqueur de genre ou les deux, afin de les aider à différencier davantage les choix disponibles. L’affichage du champ secondaire aux demandeurs peut être particulièrement utile lorsqu’il s’agit de valeurs similaires, comme la sélection du nom d’employé correct lorsque vous travaillez avec des noms identiques ou similaires (c.-à-d. Christopher Smith ou Chris Smith).
    (function execute() {
        var pagingUtil = new global.VirtualAgentChoicePagingUtil(null, "sys_user", 10, "user_name,name",
          "active=true", null, vaVars);
        var selectedOptions = pagingUtil.getSavedSelectedOptions("user", vaSystem);
        if (!selectedOptions || selectedOptions.length == 0) {
          // Secondary labels can be passed to selected options
           selectedOptions.push({ "value": "abel.tuter", "label": "Abel Tuter"
            ,"secondary_label": ["abel.tuter@example.com", "male"]
            });
           selectedOptions.push({ "value": "Beth.anglin", "label": "Beth Anglin"
            ,"secondary_label": ["beth.anglin@example.com", "female"] 
            });
        }
        vaSystem.setSelectedOptions(selectedOptions, "user", false);
        // Topic authors have the ability to define which values should go in the 
        // secondary labels by adding secondary label functions
        pagingUtil.addSecondaryLabelFunction(function (gr) {
          return gr.getValue("email");
        });
        pagingUtil.addSecondaryLabelFunction(function (gr) {
          return gr.getValue("gender");
        });
        var gr = pagingUtil.getPagingGlideRecordSecure("name", false);
        var options = pagingUtil.getSecureOptions(gr, null,'user_name', ['user_name']);
        return options;
    })()

    Exemple d’expression de valeur de liste de choix dynamique

    (function execute(table) {
            var options = [];
            var gr = new GlideRecordSecure(table);
            gr.addEncodedQuery('active=true');
            gr.setLimit(5);
            gr.query();
            while(gr.next()) {
                options.push({ 'value': gr.getUniqueValue(), 'label': gr.getValue('short_description') });
            }
            return options;
    })(table)
    

    Le script de la propriété Expression de valeur de choix définit et renvoie un tableau de choix. Dans l’exemple, le script crée un tableau appelé options et ajoute à ce tableau chaque enregistrement trouvé dans une requête GlideRecord. Chaque élément du tableau se voit attribuer une valeur dans les clés value et label à l’aide des données de ce GlideRecord. La propriété Table du contrôle définit la table utilisée par le script. Cet exemple de script utilise gr.setLimit(5) pour limiter le nombre d’enregistrements renvoyés à 5. Cette méthode permet d’éviter que les enregistrements renvoyés ne créent une liste de choix trop longue.

    Tableau 1. Clés d’expression de la valeur du contrôle de choix dynamique
    Clé Description
    valide La valeur du choix. Lorsqu’un utilisateur sélectionne un choix à partir du contrôle, cette valeur est stockée dans la variable nommée dans la propriété Nom de variable .
    étiquette L’étiquette qui apparaît pour ce choix dans la liste de choix.

    Prise en charge du canal

    Tableau 2. Prise en charge du canal pour le contrôle d’entrée de l’utilisateur Dynamic Choice
    Canal Prise en charge Contraintes
    Interface utilisateur Web Pris en charge Aucun
    Interface utilisateur mobile Pris en charge Aucun
    Panneau Now Assist Pris en charge Aucun
    Microsoft Teams Pris en charge Aucun
    Slack Pris en charge Les cartes d’en-tête ne sont pas prises en charge.
    Workplace Pris en charge Les cartes d’en-tête ne sont pas prises en charge.
    Facebook Messenger Non pris en charge Non applicable
    SMS Twilio Pris en charge Les cartes d’en-tête ne sont pas prises en charge.
    LINE Non pris en charge Non applicable
    WhatsApp Pris en charge Aucun
    Apple Messages for Business Pris en charge Aucun
    Alexa (Voix) Pris en charge Pour les appareils à écran, utilisez le défilement tactile ; Clic sur les liens non pris en charge. Pour les appareils sans écran, utilisez la pagination vocale.