Réutiliser des variables dans les rubriques
Important
Les capacités et les fonctionnalités de Power Virtual Agents font maintenant partie de Microsoft Copilot Studio, suite à des investissements significatifs dans l’IA générative et des intégrations améliorées dans Microsoft Copilot.
Certains articles et captures d’écran peuvent faire référence à Power Virtual Agents pendant que nous mettons à jour la documentation et le contenu de la formation.
Les variables stockent les réponses de vos clients aux questions de votre copilote. Par exemple, vous pouvez enregistrer le nom d’un client dans une variable appelée UserName
. Le copilote peut alors s’adresser au client par son nom au fil de la conversation.
Par défaut, la valeur d’une variable ne peut être utilisée que dans la rubrique où la variable est créée. Cependant, il est possible de réutiliser la même valeur dans toutes les rubriques. Par exemple, dans une rubrique de « Bienvenue », le bot demande le nom et l’adresse e-mail du client. Dans la rubrique Prise de rendez-vous, vous souhaitez que le copilote se souvienne de la saisie du client sans demander à nouveau.
Une façon de réutiliser une variable consiste à transmettre la variable entre les rubriques. L’autre façon consiste à donner à la variable une portée globale, et c’est ce que couvre cet article. Les variables globales sont appelées ainsi parce qu’elles sont disponibles dans toutes les rubriques dans l’ensemble du copilote.
Les variables de copilote s’appliquent pendant une seule session utilisateur. Vous spécifiez quelles variables doivent être traitées comme des variables de copilote pour les distinguer des variables au niveau de la rubrique.
Créer une variable globale
Vous créez une variable globale en changeant la portée d’une variable de rubrique.
Créez une variable ou utilisez le volet Variables pour ouvrir une variable existante.
Sur le volet Propriétés de la variable, sélectionnez Global (n’importe quelle rubrique peut y accéder).
Le nom de la variable reçoit le préfixe
Global.
, pour la différencier des variables de niveau rubrique. Par exemple, la variableUserName
est affichée sous le nomGlobal.UserName
.Enregistrez la rubrique.
Le nom d’une variable globale doit être unique dans toutes les rubriques. En cas de conflit, vous devrez renommer la variable avant d’enregistrer votre rubrique.
Utiliser des variables globales
Lorsque vous rédigez un message de copilote dans un nœud Message ou un nœud Question, sélectionnez l’icône {x} pour voir les variables disponibles pour la rubrique. Les variables globales s’affichent dans l’onglet Personnalisé, ainsi que les variables de rubrique. Les variables sont répertoriées dans l’ordre alphabétique.
Rechercher toutes les rubriques qui utilisent une variable globale
Vous pouvez voir où une variable globale est définie et quelles autres rubriques l’utilisent. Cela peut être utile si vous travaillez sur un nouveau copilote, ou si vous avez plusieurs variables et une ramification de rubriques complexe.
Sélectionnez une variable globale dans le canevas de création ou ouvrez le volet Variables et sélectionnez une variable globale.
Dans le volet Propriétés de la variable, dans la section Référence, sélectionnez l’un des rubriques où la variable est utilisée pour accéder directement à cette rubrique et ce nœud.
Cycle de vie des variables globales
Par défaut, la valeur d’une variable globale persiste jusqu’à la fin de la session. Le nœud Effacer les valeurs de variable réinitialise les valeurs des variables globales et est utilisé dans la rubrique système Réinitialiser la conversation. Cette rubrique peut être déclenchée par la redirection ou lorsque l’utilisateur saisit une phrase de déclenchement telle que « Recommencer ». Dans ce cas, toutes les variables globales sont redéfinies.
Définir la valeur d’une variable globale à partir de sources externes
Si vous voulez vous assurer que le copilote démarre une conversation avec un certain contexte, vous pouvez initialiser une variable globale avec une source externe. Supposons que votre site nécessite que les utilisateurs se connectent. Puisque votre copilote connaît déjà le nom d’un utilisateur, il peut saluer les clients par leur nom avant qu’ils ne commencent à saisir leur première question.
Sélectionnez une variable globale.
Dans le volet Propriétés de la variable, sélectionnez Les sources peuvent définir des valeurs.
Définir des variables globales dans un copilote incorporé
Si vous incorporez votre copilote dans une simple page web, vous pouvez ajouter des variables et leurs définitions à l’URL du copilote. Ou bien, si vous souhaitez un peu plus de contrôle, vous pouvez utiliser un bloc de code <script>
pour appeler et utiliser les variables par programmation.
Le nom de la variable dans la chaîne de requête de l’URL doit correspondre au nom de la variable globale sans le préfixe Global.
. Par exemple, une variable globale Global.UserName
serait appelée UserName
dans la requête.
Les exemples qui suivent offrent une déclaration simple pour les variables. Dans un scénario de production, vous pouvez transmettre en tant que paramètre de requête ou définition de variable une autre variable qui a déjà stocké le nom de l’utilisateur (par exemple, si vous avez le nom d’utilisateur d’un script de connexion).
Ajoutez les variables et leurs définitions à l’URL du copilote en tant que paramètres de chaîne de requête au format botURL?variableName1=variableDefinition1&variableName2=variableDefinition2
.
Par exemple :
- Vous avez une variable globale nommée
Global.UserName
. - L’URL de votre copilote est https://web.powerva.microsoft.com/webchat/bots/12345.
- Pour transmettre le nom de l’utilisateur au démarrage d’une conversation de copilote sur votre site web, joignez la chaîne de requête
UserName=
en tant que : https://web.powerva.microsoft.com/webchat/bots/12345?UserName=Renata.
Le nom du paramètre est insensible à la casse.
username=Renata
fonctionnera également dans cet exemple.
Ajouter des variables globales à un canevas personnalisé
Vous pouvez également ajouter la variable à un canevas personnalisé.
Dans la section
<script>
de la page où se trouve votre copilote, définissez les variables comme suit, en remplaçantvariableName1
pour le nom de la variable sans le préfixeGlobal.
etvariableDefinition1
pour la définition. Séparez plusieurs variables par des virgules (,
).const store = WebChat.createStore({}, ({ dispatch }) => next => action => { if (action.type === 'DIRECT_LINE/CONNECT_FULFILLED') { dispatch({ type: "WEB_CHAT/SEND_EVENT", payload: { name: "pvaSetContext", value: { "variableName1": "variableDefinition1", "variableName2": "variableDefinition2" } }, }); } return next(action); });
Dans votre section
<script>
, appelez lestore
lorsque vous intégrez votre copilote, comme dans l’exemple suivant oùstore
est appelé juste au-dessus de l’endroit oùstyleOptions
est appelé (vous devrez remplacer leBOT_ID
par l’ID de votre copilote) :const BOT_ID = "12345-5678"; const theURL = "https://powerva.microsoft.com/api/botmanagement/v1/directline/directlinetoken?botId=" + BOT_ID; fetch(theURL) .then(response => response.json()) .then(conversationInfo => { window.WebChat.renderWebChat( { directLine: window.WebChat.createDirectLine({ token: conversationInfo.token, }), store, styleOptions }, document.getElementById('webchat') ); }) .catch(err => console.error("An error occurred: " + err));
Contenu associé
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : pendant toute l’année 2024, nous allons éliminer progressivement Problèmes GitHub comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, voir :Soumettre et afficher des commentaires pour