Configurer le traitement des commandes pour les agents d'IA scriptés
Dans le contexte des agents d'IA, l'exécution fait référence à l'exécution de tâches qui impliquent l' interaction avec des systèmes externes pour récupérer, manipuler ou stocker des données via des API. Cet article présente l'exemple d'un agent créé pour le suivi des colis. Vous pouvez utiliser ce modèle d'agent pour créer un nouvel agent IA pour les interactions numériques et vocales.
Pour les canaux numériques, le traitement des commandes doit être orchestré via le flux de connexion utilisé pour déployer l'agent IA. En prenant l'exemple d'un agent de suivi des colis, que vous pouvez importer à partir d'un modèle lors de la création d'un nouvel agent scripté, le flux peut également être importé lors de la création d'un nouveau Webex Connect flux. Outre le traitement des commandes, ce flux de connexion dirige également l'utilisateur vers différentes files d'attente d'agents en fonction de sa dernière intention.
-
Une fois que vous avez fini de configurer votre agent scripté, identifiez les réponses à traiter .
Dans l'exemple d'agent, le traitement est obligatoire pour « TrackPackageResponse ».
-
Dans ces modèles, configurez une « réponse en attente » qui sera affichée à l'utilisateur pendant le traitement.
Dans cet exemple, une réponse de mise en attente est configurée pour « TrackPackageResponse ».
-
Dans le flux, utilisez un nœud Data Parser pour analyser les métadonnées de session de l'agent ( variable de sortie) à partir de la réponse de l'agent IA afin d'obtenir le nom de la réponse.
Vous pouvez obtenir l'exemple d'entrée pour le nœud d'analyse de données en téléchargeant les informations sur les transactions depuis les sessions en sélectionnant la transaction appropriée et en choisissant la valeur de la clé « GenerateDDF » dans le fichier téléchargé.
-
Si vous souhaitez effectuer un routage basé sur l'intention au moment du transfert de l'agent, vous pouvez obtenir la valeur de l'intention active précédente à la même étape.
-
Si vous ne souhaitez pas télécharger et analyser l'exemple de JSON, vous pouvez l'utiliser
\$.model_state.template_keypour le nom de la réponse et\$.previous_intent_model_state.intent.namepour le nom de l'intention précédente.Dans notre exemple, nous utilisons les variables de flux « ResponseKey » et « PreviousIntent » pour ces valeurs.
-
Utilisez un nœud Branch pour vérifier si une réponse doit être traitée.
-
Le nœud de succursale sort par le résultat « Aucune des réponses ci-dessus » pour les réponses qui ne nécessitent pas de traitement.
-
Dans notre exemple, comme il est nécessaire de traiter « TrackPackageResponse », vérifiez la valeur de « ResponseKey » sur le nœud de notre succursale.
-
-
Pour les réponses qui nécessitent un traitement, utilisez un nœud HTTP pour passer des appels d'API externes.
-
Vous pouvez analyser les informations utiles provenant de la réponse du nœud HTTP sur le même nœud en important un échantillon et en obtenant des variables de sortie.
-
Dans cet exemple, nous obtenons la « Livraison estimée » et le « statut » du colis.
-
-
Traitez la réponse de traitement à l'aide d'un nœud Evaluate pour formuler la réponse de l'agent.
Dans notre exemple, nous initialisons la variable « FulfilmentResp » et définissons sa valeur en fonction de l'état du colis et de la date de livraison estimée.
-
Envoyez la réponse de traitement à l'utilisateur et ajoutez-la à la conversation.
-
Revenez au nœud de réception pour poursuivre la conversation entre l'utilisateur et l'agent IA.
Transfert d'agent basé sur l'intention
Au moment du transfert de l'agent, vérifiez la dernière intention active via un nœud Branch avant le nœud de tâche Queue.
Vérifiez la valeur de « PreviousIntent » et passez à différentes files d'attente en fonction de vos besoins. Dans cet exemple, si le client demande le transfert d'un agent dans le but de « Suivre le colis », dirigez-le vers la file d'attente « Spécialiste ». Toutes les autres valeurs mènent à un transfert vers la file d'attente « Chat ».
Pour les canaux vocaux, le traitement doit être orchestré en redonnant le contrôle de la conversation au flux vocal par le biais d'événements personnalisés, puis en reprenant la conversation avec l'agent IA avec les données de distribution. À cette fin, l'exemple d'agent scripté pour le suivi des colis est réutilisé. Le flux est disponible dans « Importer à partir de modèles » dans le concepteur de flux Webex Contact Center. Outre le traitement des commandes, ce flux dirige également l'utilisateur vers différentes files d'attente d'agents en fonction de ses dernières intentions.
Guide étape par étape : Expédition
-
Ajouter le type de réponse « Événement personnalisé ».
-
Trouvez le modèle de clé pour lequel vous souhaitez ajouter l'événement personnalisé. Dans ce cas, utilisez la clé de modèle « TrackPackageResponse ».
-
Ajoutez le type de réponse « événement personnalisé » à la clé du modèle.
-
-
Configurez la réponse personnalisée aux événements.
-
Ajouter le nom et la charge utile de l'événement :
-
Pour la réponse personnalisée à l'événement, indiquez le nom de l'événement. Dans ce cas, « TrackPack_Exit ».
-
Ajoutez la charge utile de l'événement, qui contient les données qui seront transmises au flux. Cela doit être au format JSON. Dans cet exemple,
{"PackageNumber":"${entity.PackageNum}"}.
-
-
-
Utilisez la charge utile de l'événement dans le flux.
- Accédez aux métadonnées d'activité de Virtual Agent V2 :
Dans la configuration de votre flux vocal, la charge utile de l'événement que vous avez ajoutée est disponible dans les métadonnées d'activité de Virtual Agent V2.
Créez la variable de flux PackageNum.
Utilisez une activité d'analyse pour sélectionner les métadonnées de votre activité Virtual Agent V2 comme variable d'entrée.
Définissez la variable de sortie sur « PackagEnum » et son expression de chemin sur « $.packageNum » (en fonction de la structure de la charge utile des événements configurée dans la réponse de l'agent).
- Utilisez les métadonnées dans l'activité HTTP :
Utilisez la variable « PackageNum » contenue dans les métadonnées traitées dans votre flux pour suivre le colis.
Importez le flux ci-joint pour obtenir les détails de l'activité HTTP.
Définissez les variables de flux « EstimatedDelivery » et réglez-les sur « $ ». estimated_delivery'et une autre variable de flux « PackStatus » et définissez-la sur $.status.
- Ajoutez des conditions en fonction de l'activité HTTP :
Ajoutez une nouvelle activité Condition au flux. Cette activité est utilisée pour vérifier la réponse à l'activité HTTP (si le package existe et quel est son statut).
Dans cet exemple, l'expression
{{ HTTPRequest_8l3.httpStatusCode == 404 }}est utilisée pour vérifier si aucun colis n'a été trouvé.
- Accédez aux métadonnées d'activité de Virtual Agent V2 :
- Ajouter une activité variable définie en fonction des conditions :
Pour la maladie pour laquelle le colis n'existe pas :
- Dans la branche où aucun package n'est trouvé, ajoutez une activité Set Variable.
- Réglez le PackageResp (une autre variable de flux) sur :
Aucun colis contenant ces informations n'a été trouvé.
Pour l'état pour lequel le colis existe :
- Dans la branche dans laquelle se trouve un package (c'est-à-dire que le code d'état HTTP n'est pas égal à 404), ajoutez une autre activité Set Variable.
Réglez le PackageResp (une autre variable de flux) sur :
Votre colis a été récupéré. Il sera livré par {{EstimatedDelivery}}.
Ajoutez deux autres activités variables pour configurer le nom et les données de l'événement. Ces données seront transmises à l'activité Virtual Agent V2.
Créez des variables de flux event_name etevent_data.
Réglez event_name sur TrackPack_Entry et event_data sur {'PackageResp' : '{{PackageResp}}' | json}.
-
Revenons à l'activité Virtual Agent V2 :
- Configurez l'activité de Virtual Agent V2 :
Connectez l'activité Set Variable finale à l'activité Virtual Agent V2 .
Définissez le nom de l'événement sur {{event_name}}.
Réglez les données de l'événement sur {{event_data}}.
- Configurez l'activité de Virtual Agent V2 :
-
Gérez les événements entrants dans votre agent virtuel :
-
Ajouter une nouvelle clé de modèle :
-
Accédez à l'onglet Réponses sur le panneau de gauche.
-
Ajoutez un nouveau modèle de clé nommé PackageStatus.
-
-
Configurer l'événement entrant :
-
Dans le canal vocal, réglez l'événement entrant sur TrackPack_Entry (ou ce qui a été envoyé à l'activité Virtual Agent V2 dans le flux).
-
-
Configurez la réponse :
-
Définissez la réponse sur : <speak><say-as interpret-as="date"> $ {eventstore.PackageResp</say-as>}. Puis-je vous aider à faire autre chose ? </speak>
Cette réponse utilise les variables envoyées dans la charge utile par le flux. Toutes les variables envoyées dans le cadre des données des événements sont accessibles aux développeurs sous le nom de $ {eventStore. < variable_name >}.
Cela utilise également des balises SSML. La balise SSML vous permet notamment de contrôler la façon dont le texte est interprété et prononcé par un moteur de synthèse vocale. Ce tag peut être utilisé pour spécifier la façon dont les chiffres, les dates, les heures, les adresses et les autres textes doivent être prononcés. Ici, nous l'utilisons pour dater.
-
-
Acheminement des agents en fonction de l'intention précédente
-
Si l'activité Virtual Agent V2 se termine par la sortie « Escaladée », utilisez une activité d'analyse pour obtenir l'intention précédente à partir des métadonnées de l'agent.
-
Utilisez une activité Case pour vérifier les différentes valeurs de l'intention précédente qui déterminent la logique de mise en file d'attente. Dans cet exemple, nous vérifions si l'intention précédente était de « Suivre le colis ».
-
Reliez les sorties d'activité du dossier aux bords de contact de la file d'attente appropriés.