Créer une application universelle de centre d'assistance pour les employés sans code avec Vertex AI Search

1. Introduction

Dans cet atelier de programmation, vous allez créer une application universelle de centre d'assistance pour les employés sans code à l'aide de Vertex AI Search.

Imaginez que vous travaillez chez Cymbal, une entreprise de vente au détail internationale. Les employés se posent souvent des questions comme "Quelle est la procédure pour réserver un voyage d'affaires ?" ou "Combien de paires de baskets avons-nous en stock ?".

En général, vous devez vous connecter à des systèmes complètement différents pour trouver ces réponses. En plus de devoir gérer différents systèmes, vous devez également lire un grand nombre de données RH non structurées ou exécuter des requêtes SQL complexes sur des données financières structurées pour obtenir des réponses à vos questions.

Dans cet atelier de programmation, vous allez créer une application unique et unifiée qui se connecte à ces ensembles de données. Les employés pourront ainsi obtenir des réponses conversationnelles et ancrées à leurs questions grâce aux fonctionnalités de génération augmentée par récupération (RAG) de Vertex AI.

Objectifs de l'atelier

Dans cet atelier de programmation, vous allez effectuer les étapes suivantes :

  • Configurez des sources de données. Créez un bucket Cloud Storage pour les documents RH non structurés et un ensemble de données BigQuery pour les données financières structurées.
  • Configurez les data stores. Créez des datastores Vertex AI Search connectés à vos sources de données Cloud Storage et BigQuery.
  • Associez l'application. Créez une application Vertex AI Search et associez-y les deux data stores.
  • Testez l'application. Interagissez avec l'interface de recherche unifiée pour vérifier les réponses ancrées qui synthétisent les informations des deux data stores.
  • Découvrez les étapes suivantes. Passez en revue les options permettant d'ajuster le modèle d'IA générative et de déployer votre application de recherche.

Diagramme de l'architecture d'application montrant Vertex AI Search

Prérequis

  • Un navigateur Web tel que Chrome.
  • Un projet Google Cloud avec facturation activée.
  • Git installé sur votre machine locale.

Cet atelier de programmation s'adresse aux développeurs de tous niveaux.

2. Avant de commencer

Créez un projet Google Cloud et activez les API requises.

  1. Dans la console Google Cloud, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud .
  2. Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier si la facturation est activée sur un projet.

Rôles IAM requis

Cet atelier de programmation suppose que vous disposez du rôle Propriétaire du projet pour votre projet Google Cloud.

Activer les API

  1. Dans la console Google Cloud, cliquez sur Activer Cloud Shell. Si vous n'avez jamais utilisé Cloud Shell, un volet s'affiche et vous permet de choisir de démarrer Cloud Shell dans un environnement de confiance avec ou sans boost. Si vous êtes invité à autoriser Cloud Shell, cliquez sur Autoriser.
  2. Dans Cloud Shell, activez toutes les API requises :
    gcloud services enable \
      discoveryengine.googleapis.com \
      aiplatform.googleapis.com \
      bigquery.googleapis.com \
      storage.googleapis.com
    

3. Cloner un dépôt GitHub

Pour montrer comment fonctionne la recherche dans l'application d'assistance aux employés de Cymbal, vous avez besoin de fichiers fictifs. Dans cette section, vous allez cloner un dépôt GitHub sur votre ordinateur local pour obtenir ces fichiers. Vous importerez ces fichiers dans Google Cloud lors d'une étape ultérieure à l'aide de l'interface Cloud Console.

  1. Dans un terminal sur votre machine locale, clonez le dépôt next-26-sessions :
    git clone https://github.com/GoogleCloudPlatform/next-26-sessions.git
    
  2. Accédez au répertoire du dépôt téléchargé :
    cd next-26-sessions/BRK1-063-the-knowledge-source/cymbal-employee-helpdesk
    
  3. Explorez les fichiers téléchargés dans ce répertoire. Vous remarquerez qu'il existe deux dossiers : HR et Finance.
    • HR. Ce dossier contient un certain nombre de fichiers non structurés, tels que les fichiers .doc, .txt et .html. Vous importerez les fichiers RH dans un bucket Cloud Storage.
    • Finance Ce dossier contient deux fichiers .jsonl. Vous allez importer ces fichiers dans un ensemble de données BigQuery.

4. Créer un bucket Cloud Storage pour les fichiers non structurés

Dans cette section, vous allez créer un bucket Cloud Storage et y importer les documents du dossier HR que vous avez téléchargés dans la section Cloner un dépôt GitHub. Les données non structurées, comme les documents RH dans cet exemple, ne suivent pas de format prédéfini et peuvent inclure des fichiers texte, des documents ou du contenu multimédia.

  1. Dans la console Cloud, accédez à la page Buckets.
  2. Cliquez sur Créer.
  3. Sur la page Créer un bucket, saisissez le nom d'un bucket. Le nom doit être unique. Exemple : cymbal-app-hr-12.
  4. Conservez les options par défaut.
  5. Cliquez sur Créer.Le bucket est créé et la page Informations sur le bucket s'affiche. Si la page Informations sur le bucket ne s'affiche pas, cliquez sur le bucket que vous venez de créer.
  6. Sur la page Informations sur le bucket, cliquez sur Importer > Importer un dossier, puis sélectionnez le dossier HR que vous avez téléchargé dans la section Cloner un dépôt GitHub.
  7. Confirmez l'importation.Création de buckets
  8. Sur la page Informations sur le bucket, cliquez sur le dossier HR pour afficher la liste des fichiers.Fichiers dans le bucket

5. Créer un ensemble de données BigQuery pour les fichiers structurés

Dans cette section, vous allez créer un ensemble de données BigQuery et charger les documents du dossier Finance que vous avez téléchargé dans la section Cloner un dépôt GitHub dans une nouvelle table. Les données structurées, comme les documents financiers de cet exemple, suivent un format prédéfini, comme les enregistrements dans une base de données.

  1. Dans la console Cloud, accédez à la page BigQuery.
  2. Dans le volet Explorateur, cliquez sur le nom de votre projet, puis sur Afficher les actions (trois points verticaux) > Créer un ensemble de données.Création d'ensemble de données
  3. Dans le volet Créer un ensemble de données, saisissez cymbal_finance comme ID de l'ensemble de données.
  4. Pour Emplacement des données, sélectionnez US (multiple regions in United States).
  5. Conservez les options par défaut et cliquez sur Créer un ensemble de données.
  6. Dans le volet Explorateur, développez votre projet, puis cliquez sur l'ensemble de données cymbal_finance.
  7. Dans le panneau d'informations détaillées sur l'ensemble de données, cliquez sur Créer une table.
  8. Dans la section Source de la page Créer une table, procédez comme suit :
    1. Dans le champ Create table from (Créer une table à partir de), sélectionnez Upload (Importer).
    2. Sous Sélectionner un fichier, cliquez sur Parcourir, accédez au dossier Finance que vous avez téléchargé, puis sélectionnez cymbal_employee_finance.jsonl.
    3. Pour le champ Format de fichier, sélectionnez JSONL (fichier JSON délimité par un retour à la ligne).
  9. Dans la section Destination, saisissez employee_finance comme nom de Table.
  10. Dans la section Schéma, cochez la case Détection automatique.
  11. Conservez les autres paramètres par défaut, puis cliquez sur Créer une table.
  12. Répétez les étapes 7 à 11 pour charger les données dans une nouvelle table. À l'étape 8b, sélectionnez product_inventory.jsonl, puis à l'étape 9, saisissez product_inventory comme nom de table.Si vous ne voyez pas les tables dans le volet des détails de l'ensemble de données, cliquez sur Actualiser.
  13. Si vous avez créé l'ensemble de données et les deux tables, ils devraient ressembler à l'image suivante :Ensemble de données financières Cymbal

6. Créer une application Vertex AI Search

  1. Dans la console Cloud, accédez à la page Vertex AI Search.
  2. Dans la vignette Recherche personnalisée (général), cliquez sur Créer.
  3. Sur la page Configuration de l'application Recherche, assurez-vous que les options Fonctionnalités de l'édition Enterprise et Réponses génératives sont sélectionnées.
  4. Nommez votre application cymbal-employee-portal.
  5. Saisissez Cymbal Corp dans le champ Nom de l'entreprise.
  6. Conservez la zone géographique de votre application sur global.
  7. Cliquez sur Continuer.

7. Créer et connecter des data stores

Sur la page Data stores, créez les data stores que vous associerez à votre application. Vous devez créer trois data stores : un pour les données RH non structurées et deux pour les données financières structurées.

Créer un datastore pour les données non structurées

  1. Sur la page Datastores, cliquez sur Créer un datastore.
  2. Pour Sélectionner une source de données, sélectionnez Cloud Storage.
  3. Dans le volet Importer des données depuis Cloud Storage, accédez à Importation de données non structurées (recherche de documents et RAG), puis sélectionnez Documents.
  4. Conservez l'option Fréquence de synchronisation définie sur Une seule fois.
  5. Dans Sélectionnez un dossier ou un fichier à importer, cliquez sur Dossier.
  6. Dans le champ gs://..., saisissez le nom du bucket que vous avez créé dans la section Créer un bucket Cloud Storage pour les fichiers non structurés. Par exemple, si le nom du bucket est cymbal-app-hr-12, saisissez cymbal-app-hr-12/HR.L'ingestion à partir du dossier HR garantit que seuls les documents RH sont inclus dans ce data store.
  7. Cliquez sur Continuer.
  8. Saisissez cymbal-hr comme nom du datastore.
  9. Cliquez sur Continuer.
  10. Conservez l'option Tarification générale.
  11. Cliquez sur Créer.

Une fois que vous avez cliqué sur Créer, vous êtes redirigé vers la page Datastores.

Créer des data stores pour les données structurées

Vous allez créer deux data stores pour les données structurées de BigQuery : l'un pour les informations financières des employés et l'autre pour l'inventaire des produits.

Créer un data store pour les données financières des employés

  1. Sur la page Datastores, cliquez à nouveau sur Créer un datastore.
  2. Pour Sélectionner une source de données, sélectionnez BigQuery.
  3. Pour Importer des données structurées, sélectionnez Table BigQuery avec votre propre schéma.
  4. Conservez l'option Fréquence de synchronisation définie sur Une seule fois.
  5. Pour Sélectionner une table à importer, cliquez sur Parcourir. Dans la boîte de dialogue Sélectionner un chemin d'accès qui s'ouvre, sélectionnez la table employee_finance de l'ensemble de données cymbal_finance dans votre projet. Vous pouvez voir des tables portant des noms similaires provenant d'autres projets. Assurez-vous donc de sélectionner la table de votre projet.
  6. Cliquez sur Continuer.
  7. Examinez la page Examiner le schéma et attribuer des propriétés clés.
  8. Cliquez sur Continuer.
  9. Saisissez cymbal-finance comme nom du datastore.
  10. Cliquez sur Continuer.
  11. Conservez l'option Tarification générale.
  12. Cliquez sur Créer.

Une fois que vous avez cliqué sur Créer, vous êtes redirigé vers la page Datastores.

Créer un datastore pour les données d'inventaire des produits

  1. Sur la page Datastores, cliquez à nouveau sur Créer un datastore.
  2. Pour Sélectionner une source de données, sélectionnez BigQuery.
  3. Pour Importer des données structurées, sélectionnez Table BigQuery avec votre propre schéma.
  4. Conservez l'option Fréquence de synchronisation définie sur Une seule fois.
  5. Pour Sélectionner une table à importer, cliquez sur Parcourir. Dans la boîte de dialogue Sélectionner un chemin d'accès qui s'ouvre, sélectionnez la table product_inventory de l'ensemble de données cymbal_finance dans votre projet.
  6. Cliquez sur Continuer.
  7. Examinez la page Examiner le schéma et attribuer des propriétés clés.
  8. Cliquez sur Continuer.
  9. Saisissez cymbal-inventory comme nom du datastore.
  10. Cliquez sur Continuer.
  11. Conservez l'option Tarification générale.
  12. Cliquez sur Créer.

Une fois que vous avez cliqué sur Créer, vous êtes redirigé vers la page Datastores.

8. Connecter des data stores à votre application

Vous devriez maintenant voir trois datastores dans la liste de la page Datastores : cymbal-hr (non structurées), cymbal-finance (structurées) et cymbal-inventory (structurées). Pour associer ces magasins de données à votre application, procédez comme suit :

  1. Sur la page Data stores, sélectionnez les trois data stores que vous venez de créer : cymbal-hr, cymbal-finance et cymbal-inventory. Assurez-vous de sélectionner les trois datastores avant de continuer.
  2. Cliquez sur Continuer.
  3. Conservez l'option Tarification générale.
  4. Cliquez sur Créer.

9. Tester l'application du portail des employés Cymbal

  1. Dans l'application cymbal-employee-portal, cliquez sur Aperçu.
  2. Dans le champ Rechercher ici, saisissez la question suivante :
    What are the stipends that I get as an employee of Cymbal located in London?
    
  3. Saisissez une question concernant l'inventaire des produits :
    How many units of sneakers do we have in stock?
    
  4. Saisissez une autre question :
    What is the stipend for an executive in Cymbal?
    

Notez comment l'application de recherche a récupéré des informations provenant de plusieurs sources pour formuler sa réponse. Pour répondre à ces questions, l'application a effectué des recherches à la fois dans les données financières structurées stockées dans BigQuery et dans les documents RH non structurés dans Cloud Storage.

Cela démontre la puissance de Vertex AI Search pour synthétiser des réponses à partir de différents formats de données et de datastores disparates dans une expérience unique et cohérente.

Vous pouvez également ajuster le modèle d'IA pour obtenir des réponses encore plus précises et spécifiques à un domaine. Pour en savoir plus sur la personnalisation de l'expérience générative, consultez la documentation Obtenir des réponses et des informations complémentaires.

10. Options de déploiement de votre application

Le déploiement de l'application auprès des utilisateurs finaux ne fait pas partie de cet atelier de programmation, mais il est utile de savoir comment cela se traduit dans un scénario réel. Vous disposez de plusieurs options pour intégrer votre application Vertex AI Search aux workflows de votre organisation :

  • Widget Web prédéfini. Vous pouvez intégrer une interface de recherche ou de chat prête à l'emploi directement dans l'intranet ou les pages Web existants de votre entreprise à l'aide d'une balise HTML script. C'est le moyen le plus rapide de présenter votre application aux utilisateurs.
  • Intégration d'API personnalisée : Pour contrôler entièrement l'expérience utilisateur, vous pouvez utiliser les API REST ou les bibliothèques clientes Vertex AI Search (comme Python, Node.js ou Java) pour créer une interface personnalisée de A à Z.

11. Effectuer un nettoyage

Pour éviter que les ressources créées pendant cet atelier de programmation soient facturées en permanence sur votre compte Google Cloud, supprimez-les :

  1. Dans la console Cloud, accédez à la page Vertex AI Search.
  2. Cliquez sur Voir les applications existantes.
  3. Pour l'application cymbal-employee-portal, cliquez sur les trois points verticaux pour Plus, puis sur Supprimer.
  4. Suivez les instructions à l'écran pour confirmer la suppression.
  5. Pour supprimer les data stores, cliquez sur Data stores dans le panneau de navigation de gauche de la console.
  6. Supprimez les data stores cymbal-hr, cymbal-finance et cymbal-inventory :
    1. Pour le datastore cymbal-hr, cliquez sur les trois points verticaux pour Plus, puis sur Supprimer.
    2. Suivez les instructions à l'écran pour confirmer la suppression.
    3. Pour le datastore cymbal-finance, cliquez sur les trois points verticaux pour Plus, puis sur Supprimer.
    4. Suivez les instructions à l'écran pour confirmer la suppression.
    5. Pour le datastore cymbal-inventory, cliquez sur les trois points verticaux pour Plus, puis sur Supprimer.
    6. Suivez les instructions à l'écran pour confirmer la suppression.
  7. Accédez à la page Buckets et supprimez le bucket que vous avez créé (par exemple, cymbal-app-hr-12).
  8. Accédez à la page BigQuery et supprimez l'ensemble de données cymbal_finance.

12. Félicitations

Mission accomplie ! Vous avez réussi à créer une expérience de recherche d'entreprise unifiée à l'aide de Vertex AI Search.

En comblant le fossé entre vos données d'entreprise non structurées dans Cloud Storage et les enregistrements structurés de BigQuery, vous avez créé un outil puissant capable d'effectuer des raisonnements commerciaux complexes, le tout sans écrire une seule ligne de code de machine learning.

Connaissances acquises

  • Ingestion : découvrez comment ingérer des documents non structurés depuis Cloud Storage et des données structurées depuis BigQuery dans Vertex AI Search.
  • Requêtes multidatastore. Comment interroger une application de recherche multidatastore pour synthétiser des réponses unifiées à partir de données structurées et non structurées.
  • Réglage et personnalisation : Comment ajuster les modèles d'IA générative pour obtenir des réponses plus précises et spécifiques à un domaine.
  • Options de déploiement Les différentes façons d'intégrer cette capacité de raisonnement dans des applications concrètes à l'aide de widgets prédéfinis ou d'API personnalisées.

Documents de référence