Configurer l'exécution 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 impliquant une interaction avec des systèmes externes pour récupérer, manipuler ou stocker des données via des API. Cet article décrit l'exemple d'agent créé pour le suivi des colis. Vous pouvez utiliser ce modèle d'agent lors de la création d'un agent AI pour les interactions numériques et vocales.
Pour les canaux numériques, l'exécution doit être orchestrée via le flux de connexion utilisé pour déployer l'agent d'IA. En prenant l'exemple d'un agent de suivi de package, que vous pouvez importer à partir d'un modèle lors de la création d'un nouvel agent Scripted, le flux est également disponible à importer lors de la création d'un nouveau flux Webex Connect. Outre l'exécution, ce flux de connexion achemine également l'utilisateur vers différentes files d'attente d'agent en fonction de leur dernière intention.
-
Une fois que vous avez terminé de configurer votre agent scripté, identifiez les réponses qui doivent être exécutées.
Dans l'exemple d'agent, l'exécution est requise pour 'trackPackageResponse'.
-
Dans ces modèles, configurez une "réponse en attente" qui sera affichée à l'utilisateur pendant l'exécution.
Dans cet exemple, une réponse en attente est configurée pour 'trackPackageResponse'.
-
Dans le flux, utilisez un nœud d'analyseur de données pour analyser les métadonnées de session de l'agent (variable de sortie) de la réponse de l'agent d'IA afin d'obtenir le nom de la réponse.
Vous pouvez obtenir l'exemple d'entrée pour le nœud analyseur de données en téléchargeant les informations de transaction des sessions en sélectionnant la transaction appropriée et en choisissant la valeur de la clé 'generatedDf' à partir du 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 dans la même étape.
-
Si vous ne souhaitez pas télécharger et analyser l'exemple JSON, vous pouvez utiliser
\$.model_state.template_key
pour le nom de la réponse et\$.previous_intent_model_state.intent.name
pour 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 exécutée.
-
Le nœud de branche sort par le résultat "Aucun des éléments ci-dessus" pour les réponses qui ne nécessitent pas d'exécution.
-
Dans notre exemple, puisqu'il y a un besoin d'exécution pour 'trackPackageResponse', vérifiez la valeur de 'responseKey' dans notre nœud de branche.
-
-
Pour les réponses qui nécessitent un traitement, utilisez un nœud HTTP pour passer des appels API externes.
-
Vous pouvez analyser les informations utiles de la réponse du nœud HTTP dans le même nœud en important un échantillon et en obtenant des variables de sortie.
-
Dans cet exemple, nous obtenons 'estimatedDelivery' et 'status' du colis.
-
-
Traiter la réponse d'exécution à l'aide d'un nœud Évaluer 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 livraison estimée.
-
Envoyez la réponse d'exécution à l'utilisateur et ajoutez-la à la conversation.
-
Revenez au nœud Réception pour poursuivre la conversation entre l'utilisateur et l'agent d'IA.
Transfert d'agent basé sur l'intention
Au moment du transfert de l'agent, vérifiez la dernière intention active par le biais d'un nœud de branche avant le nœud de tâche en file d'attente .
Vérifiez la valeur de 'previousIntent' et branchez-la vers différentes files d'attente en fonction de vos besoins. Dans cet exemple, si le client demande un transfert d'agent après l'intention du "Suivi du package", dirigez-le vers la file d'attente "Spécialiste". Toutes les autres valeurs conduisent à un transfert vers la file d'attente 'Chat'.
Pour les canaux vocaux, l'exécution doit être orchestrée en remettant le contrôle de la conversation au flux vocal via des événements personnalisés, puis en reprenant la conversation de l'agent IA avec les données d'exécution. À cette fin, l'exemple d'agent scripté pour le suivi des packages est réutilisé. Le flux est disponible dans 'Importer à partir de modèles' dans le Concepteur de flux Webex Contact Center. Outre l'exécution, ce flux achemine également l'utilisateur vers différentes files d'attente d'agents en fonction de leur dernière intention.
Guide étape par étape : Accomplissement
-
Ajoutez le type de réponse "Événement personnalisé".
-
Recherchez la clé de modèle pour laquelle vous voulez 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 d'événement personnalisée.
-
Ajoutez le nom et la charge utile de l'événement :
-
Pour la réponse d'événement personnalisée, fournissez un nom d'événement. En l'espèce, "TrackPack_Exit".
-
Ajoutez la charge utile de l'événement, qui contient les données qui seront transmises au flux. Il doit être au format JSON. Dans cet exemple,
{"PackageNumber" :"${entité. PackageNum}"}
.
-
-
-
Utilisez la charge utile d'événement dans le flux.
- Accéder aux métadonnées d'activité de Virtual Agent V2 :
Dans votre configuration de flux vocal, la charge utile d'événement que vous avez ajoutée est disponible dans le cadre des métadonnées d'activité de l'agent virtuel V2 .
Créez la variable de flux PackageNum.
Utilisez une activité Parse pour sélectionner vos métadonnées d'activité Virtual Agent V2 comme variable d'entrée.
Définissez la variable de sortie sur 'PackageNum' et son expression de chemin sur '$. PackageNum' (basé sur la structure de la charge utile d'événement configurée dans la réponse de l'agent).
- Utilisez les métadonnées dans l'activité HTTP :
Utilisez la variable 'PackageNum' des métadonnées traitées dans votre flux pour suivre le package.
Importez le flux attaché pour trouver les détails de l'activité HTTP .
Définissez les variables de flux 'estimatedDelivery' et définissez-les sur '$.estimated_delivery' et une autre variable de flux 'packStatus' et définissez-les sur $.status.
- Ajoutez des conditions en fonction de l'activité HTTP :
Ajoutez une nouvelle activité Condition au flux. Cette activité permet de vérifier la réponse de l'activité HTTP (si le package existe et son état).
Dans cet exemple, l'expression
{{ HTTPRequest_8l3.httpStatusCode == 404 }}
est utilisée pour vérifier si aucun package n'a été trouvé.
- Accéder aux métadonnées d'activité de Virtual Agent V2 :
- Ajoutez l'activité Définir la variable en fonction des conditions :
Pour la condition pour laquelle le package n'existe pas :
- Sous la branche où aucun package n'est trouvé, ajoutez une activité Définir variable .
- Définissez le packageResp (une autre variable de flux) sur :
Aucun package trouvé avec ces détails.
Pour la condition pour laquelle le package existe :
- Sous la branche où un package est trouvé (c'est-à-dire que le code d'état HTTP n'est pas égal à 404), ajoutez une autre activité Set Variable .
Définissez le packageResp (une autre variable de flux) sur :
Votre colis a été ramassé. Il sera livré par {{estimatedDelivery}}.
Ajoutez deux autres activités Définir des 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 et event_data.
Définissez event_name sur TrackPack_Entry et event_data sur {'packageResp' : '{{packageResp}}' | json}.
-
Retour en boucle à l'activité de l'agent virtuel V2 :
- Configurez l'activité Virtual Agent V2 :
Connectez l'activité finale de Définir variable à l'activité Virtual Agent V2.
Définissez le nom de l'événement sur {{event_name}}.
Définissez les données de l'événement sur {{event_data}}.
- Configurez l'activité Virtual Agent V2 :
-
Gérez l'événement entrant dans votre agent virtuel :
-
Ajoutez une nouvelle clé de modèle :
-
Allez à Réponses Tab sur le panneau de gauche.
-
Ajoutez une nouvelle clé de modèle nommée packageStatus.
-
-
Configurez l'événement entrant :
-
Sous le canal vocal, définissez l'événement entrant sur TrackPack_Entry (ou sur tout 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 avec autre chose ?</parler>
Cette réponse utilise les variables envoyées dans la charge utile à partir du flux. Toutes les variables envoyées dans le cadre des données d'événement sont accessibles aux développeurs en tant que ${eventStore.<variable_name>}.
Il utilise également des balises SSML. En particulier, la balise SSML vous permet de contrôler la façon dont le texte est interprété et parlé par un moteur de synthèse vocale. Cette balise peut être utilisée pour spécifier comment les nombres, les dates, les heures, les adresses et tout autre texte doivent être prononcés. Ici, nous l'utilisons pour la date.
-
-
Routage d'agent basé sur l'intention précédente
-
Si l'activité Virtual Agent V2 se termine via la sortie "Escalated", utilisez une activité d'analyse pour obtenir l'intention précédente à partir des métadonnées de l'agent.
-
Utilisez une activité Cas pour rechercher 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 'Track package'.
-
Attachez les sorties de l'activité Dossier aux bords de contact de file d'attente appropriés.