Fermer

octobre 19, 2022

Déploiements avancés de bots et de pipelines AWS Lex


Écrit par Gérald Frilot

AWS propose de nombreux services utiles qui peuvent être personnalisés pour répondre à nos demandes croissantes. Dans ce cas, nous allons nous concentrer sur Amazon S3 et Lex pour expliquer comment ces services AWS peuvent être configurés pour gérer de grandes quantités de données. Nous décrirons également une approche avancée pour mettre à jour une instance Amazon Lex par programmation.

Le scénario suivant nous donnera un bon exemple de la façon dont Amazon S3 peut facilement être mis à jour pour faciliter la gestion des données.

Scénario

Un distributeur mondial en ligne pour tous les stocks liés à l’automobile est en phase finale de déploiement d’un centre d’appels pour aider aux ventes, au support technique et au suivi des stocks. Tous les produits sont contenus dans une feuille de calcul globale qui est mise à jour périodiquement. Considérons ce qui suit :

  • Cette feuille de calcul contient environ 2 000 lignes de données.
  • Les données doivent être écrites dans un bot Lex actuellement utilisé via le webchat et IVR (Interactive Voice Response).
  • Cette feuille de calcul est mise à jour au moins trois fois par semaine.

Maintenant, nous allons trouver une solution étape par étape sur la façon de stocker notre feuille de calcul globale et de la connecter facilement à un bot Lex. Nous commencerons par créer un bucket S3 pour stocker notre feuille de calcul globale, puis nous créerons un Lex Bot avec un type d’emplacement personnalisé pour les mises à jour associées. Plus tard, nous mettrons à jour notre pipeline pour cibler le type d’emplacement personnalisé et effectuerons une écriture immédiate contenant tous les enregistrements de la feuille de calcul.

Service de stockage simple d’Amazon (S3)

Commençons par créer un compartiment S3 pour stocker la feuille de calcul globale, car cette action nous permet d’héberger notre feuille de calcul là où elle peut être lue et écrite. De plus, le compartiment S3 rend les données accessibles.

Connectez-vous à votre compte AWS, recherchez le service Amazon S3 et suivez ces étapes pour

  1. Sélectionnez un nom significatif
  2. Sélectionnez une région AWS
  3. Conserver toutes les valeurs par défaut
    1. ACL désactivées (recommandé)
    2. Bloquer tous les accès publics (Désactiver)
    3. Gestion des versions de bucket (désactiver)
    4. Cryptage par défaut (Désactiver)
  4. Sélectionner Créer un compartiment (Cela crée une nouvelle instance S3 pour le stockage des données)

Image 1

Photo2

5. Une fois le compartiment créé, nous pouvons maintenant télécharger la feuille de calcul globale sur S3 en sélectionnant Télécharger et alors Ajouter des fichiers

Photo3

Amazon Web Services - Évitez les pannes du centre de contact : planifiez votre mise à niveau vers Amazon Connect

Amazon Lex (Type d’emplacement personnalisé)

Nous avons maintenant une feuille de calcul de produits de test chargés dans un compartiment S3. Un seul utilisateur peut facilement mettre à jour la feuille de calcul tandis que le reste de l’organisation peut l’utiliser comme un fichier en lecture seule.

La prochaine étape consiste à créer un Lex Bot supplémentaire qui remplacera celui actuellement utilisé par notre client. Au lieu d’ajouter manuellement de nouveaux produits ou services au bot Lex, nous pouvons déclencher le pipeline pour lire toutes les modifications apportées au fichier stocké dans S3. Cela mettra également à jour le type d’emplacement personnalisé pendant l’étape d’exécution.

Noter: Les directives suivantes utilisent Lex V1.

Revenez au tableau de bord AWS, recherchez Lex et sélectionnez Créer. Ici, vous pouvez configurer des valeurs telles que le nom du bot, la langue, la voix de sortie, le délai d’expiration de la session et l’état de conformité COPPA préféré.

Photo4

  1. Une fois que vous avez configuré votre bot, sélectionnez Créer un robot
  2. Créer une intention (REMARQUE: Le nom de l’intention doit être unique)
  3. Sélectionner Ajouter

Photo5

  1. Créer un type d’emplacement personnalisé

un. Entrez un nom pour le type d’emplacement, une description et sélectionnez Restreindre aux valeurs d’emplacement et aux synonymes

b. Saisissez manuellement le tout premier élément de la feuille de calcul et sélectionnez Ajouter un emplacement à l’intent

Image6

  1. Mise à jour Machines à sous pour utiliser le type d’emplacement personnalisé qui vient d’être créé
  2. Construire et Publier le robot

Photo7

Photo8

Une fois le bot Lex créé, nous pouvons modifier le pipeline pour mettre à jour le type d’emplacement personnalisé avec tous les enregistrements contenus dans la feuille de calcul globale.

Pipeline de code AWS

L’extrait ci-dessous est intégré dans un fichier YAML qui contient une liste de commandes à exécuter lorsque le pipeline est déclenché.

  • Commande Bash (dépôt local)
  1. Installez le package python pour travailler avec des fichiers Excel
  2. Copiez le fichier S3 et enregistrez-le dans un répertoire local
  3. Exécuter un script Python pour créer une copie JSON du fichier CSV
  4. Changer de répertoire et installer/exécuter npm
  5. Exécuter un fichier JavaScript pour mettre à jour le type d’emplacement personnalisé
  6. Copiez le fichier JSON du répertoire local vers le compartiment S3

# Récupérer les données du produit et mettre à jour l’environnement de développement

– bas : |

pip3 installer openpyxl

aws s3 cp s3://gf-test-products/product_data.xlsx product_data.xlsx –région $AWS_REGION

python3 update_product_data.py

cd pace-cli-utils

installation npm

construction d’exécution npm

nœud src/commands/updateProductsDataSlotType.js

aws s3 cp /tmp/product_data.json s3://gf-test-products/product_data.json –région $AWS_REGION

displayName : ‘Récupérer les données produit et mettre à jour l’environnement de développement’

répertoire de travail : outils/scripts

condition : and(succeeded(), eq(‘${{ parameters.DEPLOY_PRODUCT_DATA }}’, true))

env :

AWS_ACCESS_KEY_ID : $(DEV_AWS_ACCESS_KEY_ID)

AWS_SECRET_ACCESS_KEY : $(DEV_AWS_SECRET_ACCESS_KEY)

AWS_REGION : $(AWS_REGION)

Script Python (update_product_data.py) :

Le script Python crée une instance d’un classeur Excel à l’aide de la openpyxl module. Il boucle ensuite sur le classeur (fichier S3 précédemment copié à partir de la commande bash) et enregistre les valeurs dans un OrderedDict Structure de données. Une fois la boucle terminée, un OrderedDict est initialisé avec le fichier CSV au format JSON. Ces données sont ensuite écrites dans un tmp répertoire à stocker ultérieurement dans S3.

Fichier JavaScript (updateProductsDataSlotType.js) :

Le fichier JavaScript nécessite les modules aws-sdk et système de fichiers. Le fichier a une fonction principale asynchrone qui récupère à la fois la version du type d’emplacement et le type d’emplacement personnalisé. Nous commençons par lire le fichier JSON créé à partir du script Python mentionné ci-dessus, puis nous l’affectons à une variable. Un tableau vide est initialisé avant d’itérer sur le fichier. Plus tard, il est modifié avec les valeurs et les synonymes nécessaires pour mettre à jour le type d’emplacement personnalisé. S’il n’y a pas d’erreurs tout au long de ces actions, nous pouvons mettre à jour le type d’emplacement.

Solution AWS livrée

Nous avons choisi ServicesAWS à cause de ses flexibilité et capacité à générer des résultats sur le marché en temps opportun. Dans ce cas, nous avons utilisé les avantages des services Amazon Lex et S3 pour gérer et utiliser efficacement un grand ensemble de données avec un minimum de ressources. En attirant notre attention sur AWS Cloud, nous avons résolu un problème réel de manière efficace et innovante.

Nous contacter

Chez Perficient, nous sommes unPartenaire de conseil avancé APN pour Amazon Connectce qui nous donne un ensemble unique de compétences pour accélérer votre expérience cloud, agent et client.

Perficient est fier de notre approche personnelle du parcours client où nous aidons les entreprises clientes à transformer et à moderniser leur centre de contact et leur expérience CRM avec des plateformes comme Amazon Connect.Pour plus d’informations sur la façon dont Perficient peut vous aider à tirer le meilleur parti d’Amazon Lex, veuillezcontactez-nous ici.






Source link

octobre 19, 2022