Répondre à des questions en fonction de conversations Chat avec une application Chat avec Gemini AI

Ce tutoriel explique comment créer une application Google Chat qui répond basées sur les conversations dans les espaces Chat grâce à l'IA IA optimisée par Vertex AI avec Gemini. L'application Chat utilise l'API Google Workspace Events et Pub/Sub pour reconnaître les questions publiés dans les espaces Chat en temps réel, même n'est pas mentionnée.

L'application Chat utilise tous les messages envoyés dans l'espace comme une source de données et une base de connaissances: lorsqu'un utilisateur pose une question, L'application Chat vérifie les réponses précédemment partagées, puis en partage un. Si aucune réponse n'est trouvée, cela signifie qu'il n'y en a pas. Pour chaque réponse, les utilisateurs peuvent cliquer sur un bouton d'action accessoire pour @mentionner un gestionnaire de l'espace et leur demander pour obtenir une réponse. Grâce à l'IA Gemini, l'application Google Chat s'adapte et élargit sa base de connaissances en s'entraînant en continu sur les conversations dans les espaces auquel elles sont ajoutées.

Fonctionnement de l'application Chat lors du processus d'intégration des employés et l'espace d'assistance:

  • <ph type="x-smartling-placeholder">
    </ph> Mentionner l&#39;application d&#39;assistant de connaissances IA permet de l&#39;ajouter à un espace.
    Figure 1. Charlie ajoute l'application Chat d'assistant de connaissances par l'IA à un espace Chat.
  • Dana pose une question.
    Figure 2 : Dana demande si l'entreprise propose des formations à la prise de parole en public.
  • L&#39;application Chat d&#39;assistant de connaissances IA répond à la question.
    Figure 3 : L'application Chat d'assistant de connaissances de l'IA invite Vertex AI avec Gemini à répondre à la question de Dana en fonction de l'historique des conversations de l'espace Chat, puis partage la réponse.

Prérequis

Objectifs

  • Créez une application Chat qui utilise l'IA générative pour : Répondez aux questions en vous appuyant sur les connaissances partagées dans l'espace Chat conversations.
  • Avec l'IA générative: <ph type="x-smartling-placeholder">
      </ph>
    • Détectez les questions des employés et répondez-y.
    • Apprendre en permanence grâce aux conversations en cours dans un chat l'espace de stockage.
  • Écoutez les messages d'un espace Chat et répondez-y en temps réel même si l'application Chat n'est pas a envoyé un message.
  • Persistance des messages en écrivant et en lisant dans une base de données Firestore
  • Facilitez la collaboration dans un espace Chat en y mentionnant cet espace. les responsables lorsqu'aucune réponse à une question n'est trouvée.

Architecture

Le schéma suivant illustre l'architecture de Google Workspace Ressources Google Cloud utilisées par l'assistant de connaissances IA Application Chat

Schéma de l&#39;architecture de l&#39;application Chat d&#39;assistant de connaissances IA

L'application Chat d'assistant de connaissances IA fonctionne comme suit:

  • Un utilisateur ajoute l'application Chat d'assistant de connaissances de l'IA à un espace Chat:

    1. L'application Chat invite le qui l'a ajouté à l'espace Chat pour configurer l'authentification et l'autorisation.

    2. L'application Chat récupère les messages de l'espace en appeler la méthode spaces.messages.list dans l'API Chat et puis stocke les messages récupérés dans une base de données Firestore.

    3. L'application Chat appelle la méthode la méthode subscriptions.create de l'API Google Workspace Events pour commencer écouter des événements tels que des messages dans l’espace. La le point de terminaison de notification d'un abonnement est un sujet Pub/Sub qui utilise Eventarc pour transférer l'événement vers l'application Chat

    4. L'application Chat publie un message de présentation à l'attention de l'espace.

  • Un utilisateur de l'espace Chat publie un message:

    1. L'application Chat reçoit le message en temps réel à partir du sujet Pub/Sub.

    2. L'application Chat ajoute le message à Firestore base de données.

      Si l'utilisateur modifie ou supprime ultérieurement le message, le L'application Chat reçoit l'événement mis à jour ou supprimé en temps réel, puis met à jour ou supprime le message dans le base de données.

    3. L'application Chat envoie le message à Vertex AI avec Gemini:

      1. La requête demande à Vertex AI avec Gemini de vérifier si le message inclut une question. Si c'est le cas, Gemini répond à la question sur l'historique des messages de l'espace Chat conservé dans Firestore L'application Google Chat envoie ensuite le message Espace Chat. Si ce n'est pas le cas, ne répondez pas.

      2. Si Vertex AI avec Gemini répond à la question, L'application Chat publie le réponse en appelant la méthode spaces.messages.create dans API Chat à l'aide de l'authentification des applications

        Si Vertex AI avec Gemini ne peut pas répondre à la question, la L'application Chat publie un un message indiquant qu'il ne trouve pas de réponse à cette question dans l'historique de l'espace Chat.

        Les messages incluent toujours un bouton d'action accessoire que les utilisateurs peuvent clic pour que l'application Chat @Mentionnez un gestionnaire de l'espace pour lui demander de répondre.

  • L'application Chat reçoit une notification de cycle de vie l'API Google Workspace Events que l'abonnement à un espace Chat est sur le point d'expirer:

    1. L'application Chat envoie une demande de renouvellement en appelant la méthode subscriptions.patch dans API Google Workspace Events.
  • L'application Chat est supprimée d'une application Chat. espace:

    1. L'application Chat supprime l'abonnement en appelant la méthode subscriptions.delete dans API Google Workspace Events.

    2. L'application Chat supprime le chat les données de Firestore depuis Firestore.

Examiner les produits utilisés par l'application Chat d'assistant de connaissances IA

L'application Chat d'assistant de connaissances IA utilise les produits Google Workspace et Google Cloud suivants:

  • API Vertex AI avec Gemini: Une plate-forme d'IA générative optimisée par Gemini. L'assistant de connaissances IA L'application Chat utilise l'API Vertex AI avec Gemini pour : reconnaître, comprendre et répondre aux questions des employés.
  • API Chat: API permettant de développer des applications Google Chat qui reçoivent des messages et y répondent Événements d'interaction avec le chat, comme les messages L'IA L'application Chat d'assistant de connaissances utilise l'API Chat pour: <ph type="x-smartling-placeholder">
      </ph>
    • recevoir des événements d'interaction envoyés par Chat et y répondre.
    • Répertorier les messages envoyés dans un espace.
    • Publier des réponses aux questions des utilisateurs dans un espace.
    • Configurez les attributs qui déterminent la façon dont le contenu s'affiche dans Chat, par exemple avec son nom et son avatar.
  • API Google Workspace Events: Cette API vous permet de vous abonner à des événements et de gérer modifier les notifications dans les applications Google Workspace. La L'application Chat d'assistant de connaissances IA utilise API Google Workspace Events pour écouter les messages publiés dans un espace Chat lui permettant de détecter les questions et d'y répondre, même lorsqu'il n'est pas mentionnée.
  • Firestore: Base de données de documents sans serveur L'assistant de connaissances IA Une application Chat utilise Firestore pour stocker des données sur les messages envoyé dans un espace Chat.
  • Pub/Sub: Pub/Sub est un service de messagerie asynchrone et évolutif qui dissocie services produisant des messages à partir des services qui traitent ces messages. La L'application Chat d'assistant de connaissances IA utilise Pub/Sub pour : recevoir les événements d'abonnement des espaces Chat.
  • Eventarc: Eventarc vous permet de créer des architectures basées sur des événements sans avoir à pour implémenter, personnaliser ou gérer l'infrastructure sous-jacente. L'IA L'application Chat d'assistant de connaissances utilise Eventarc pour acheminer les événements de Pub/Sub vers un espace Chat la fonction Cloud qui reçoit et traite les événements d'abonnement.
  • Cloud Functions: Un service de calcul sans serveur léger qui vous permet de créer Des fonctions autonomes à usage unique qui peuvent répondre à Chat d'interactions et d'abonnements, sans avoir à gérer de serveur ni d'environnement d'exécution environnement. Application Chat d'assistant de connaissances IA utilise deux fonctions Cloud nommées: <ph type="x-smartling-placeholder">
      </ph>
    • app: héberge le point de terminaison HTTP envoyé par Chat. des événements d'interaction vers et en tant que plate-forme de calcul pour exécuter une logique traite ces événements et y répond.
    • eventsApp: reçoit et traite l'espace Chat des événements tels que les messages d'un abonnement Pub/Sub.
    Cloud Functions crée et utilise les produits Google Cloud suivants des ressources de calcul hôtes: <ph type="x-smartling-placeholder">
      </ph>
    • Cloud Build: Plate-forme entièrement gérée d'intégration, de livraison et de déploiement continus qui exécute des builds automatisés.
    • Cloud Run: Environnement entièrement géré permettant d'exécuter des applications conteneurisées

Préparer l'environnement

Cette section explique comment créer et configurer un projet Google Cloud pour le Application Chat

Créer un projet Google Cloud

console Google Cloud

  1. Dans la console Google Cloud, accédez au menu . &gt; IAM et Administrateur &gt; Créer un projet.

    Accéder à la page "Créer un projet"

  2. Dans le champ Nom du projet, saisissez un nom descriptif pour votre projet.

    Facultatif: Pour modifier l'ID du projet, cliquez sur Modifier. Impossible de modifier l'ID du projet Une fois le projet créé, choisissez donc un ID qui répond à vos besoins pendant toute la durée de vie projet.

  3. Dans le champ Lieu, cliquez sur Parcourir pour afficher les emplacements potentiels de votre projet. Cliquez ensuite sur Sélectionner. <ph type="x-smartling-placeholder">
  4. Cliquez sur Créer. La console Google Cloud accède à la page "Tableau de bord", et votre projet est créé. en quelques minutes.

CLI gcloud

Dans l'un des environnements de développement suivants, accédez à la console CLI ("gcloud"):

  • Cloud Shell: pour utiliser un terminal en ligne avec la gcloud CLI déjà configuré, activez Cloud Shell.
    Activer Cloud Shell
  • Shell local: pour utiliser un environnement de développement local, installer et initialiser la gcloud CLI.
    Pour créer un projet Cloud, utilisez la commande "gcloud projects create" :
    gcloud projects create PROJECT_ID
    Remplacez PROJECT_ID en définissant l'ID du projet que vous souhaitez créer.

Activer la facturation pour le projet Cloud

<ph type="x-smartling-placeholder">

console Google Cloud

  1. Dans la console Google Cloud, accédez à Facturation. Cliquez sur Menu &gt; Facturation &gt; Mes projets.

    Accéder à la page "Facturation de mes projets"

  2. Dans Sélectionner une organisation, choisissez l'organisation associée à votre projet Google Cloud.
  3. Sur la ligne du projet, ouvrez le menu Actions. (), cliquez sur Modifier la facturation, puis sélectionnez l'option Cloud Billing.
  4. Cliquez sur Définir le compte.

CLI gcloud

  1. Pour lister les comptes de facturation disponibles, exécutez la commande suivante:
    gcloud billing accounts list
  2. Associez un compte de facturation à un projet Google Cloud:
    gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID

    Remplacez les éléments suivants :

    • PROJECT_ID est l'ID de projet de la pour lequel vous souhaitez activer la facturation.
    • BILLING_ACCOUNT_ID est l'ID du compte de facturation à associer. le projet Google Cloud.

Activer les API

console Google Cloud

  1. Dans la console Google Cloud, activez l'API Google Chat, l'API Vertex AI, les API Cloud Functions, Firestore, Cloud Build les API Pub/Sub, Google Workspace Events, Eventarc et l'API Cloud Run Admin.

    Activer les API

  2. Vérifiez que vous activez les API au bon endroit Google Cloud, puis cliquez sur Suivant.

  3. Vérifiez que vous activez les API appropriées, puis cliquez sur Activer.

CLI gcloud

  1. Si nécessaire, définissez le projet Cloud actuel sur celui date de création:

    gcloud config set project PROJECT_ID
    

    Remplacez PROJECT_ID par l'ID de projet de Google Cloud que vous avez créé.

  2. activer l'API Google Chat, l'API Vertex AI, l'API Cloud Functions, les API Firestore, Cloud Build, Pub/Sub les API Google Workspace Events, Eventarc et l'administrateur Cloud Run API:

    gcloud services enable chat.googleapis.com \
    aiplatform.googleapis.com \
    cloudfunctions.googleapis.com \
    firestore.googleapis.com \
    cloudbuild.googleapis.com \
    pubsub.googleapis.com \
    workspaceevents.googleapis.com \
    eventarc.googleapis.com \
    run.googleapis.com
    

Configurer l'authentification et l'autorisation

L'authentification et l'autorisation permettent au L'application Chat accède aux ressources dans Google Workspace et Google Cloud.

Dans ce tutoriel, vous allez publier l'application Google Chat en interne afin qu'elle soit Vous pouvez utiliser des informations d'espace réservé. Avant de publier Application Google Chat en externe, remplacer les informations de l'espace réservé par des informations réelles pour l'écran de consentement.

  1. Dans la console Google Cloud, accédez à Menu &gt; API et Services &gt; Écran de consentement OAuth.

    Accéder à l'écran de consentement OAuth

  2. Sous Type d'utilisateur, sélectionnez Interne, puis cliquez sur Créer.

  3. Dans le champ Nom de l'application, saisissez AI knowledge assistant.

  4. Dans Adresse e-mail d'assistance utilisateur, sélectionnez votre adresse e-mail ou une adresse Google Groupes.

  5. Sous Coordonnées du développeur, saisissez votre adresse e-mail.

  6. Cliquez sur Enregistrer et continuer.

  7. Cliquez sur Ajouter ou supprimer des habilitations. Un panneau contenant la liste des champs d'application s'affiche pour chaque API activée dans votre projet Cloud.

  8. Sous Ajouter manuellement des champs d'application, collez le champ d'application suivant:

    • https://www.googleapis.com/auth/chat.messages
  9. Cliquez sur Add to Table (Ajouter à la table).

  10. Cliquez sur Mettre à jour.

  11. Cliquez sur Enregistrer et continuer.

  12. Consultez le récapitulatif d'enregistrement de l'application, puis cliquez sur Retour au tableau de bord.

Créer des identifiants client OAuth

  1. Dans la console Google Cloud, accédez à Menu &gt; API et Services &gt; Identifiants.

    Accéder à "Identifiants"

  2. Cliquez sur Créer des identifiants. &gt; ID client OAuth.

  3. Cliquez sur Type d'application. &gt; Application Web.

  4. Dans le champ Nom, saisissez un nom pour l'identifiant. Ce nom est uniquement comme indiqué dans la console Google Cloud.

  5. Sous URI de redirection autorisés, cliquez sur Ajouter un URI.

  6. Dans le champ URI 1, saisissez la commande suivante:

    https://REGION-PROJECT_ID.cloudfunctions.net/app/oauth2
    

    Remplacez les éléments suivants :

    • REGION: région de la fonction Cloud, par exemple us-central1. Plus tard, lorsque vous créerez les deux fonctions Cloud, vous devrez définir leur région à cette valeur.
    • PROJECT_ID: ID de projet du projet Cloud que vous avez créés.
  7. Cliquez sur Créer.

  8. Dans la fenêtre Client OAuth créé, cliquez sur Télécharger JSON.

  9. Enregistrez le fichier téléchargé sous le nom client_secrets.json. Plus tard, lorsque vous créerez les deux fonctions Cloud Functions, vous devez inclure le fichier client_secrets.json dans chaque fonction le déploiement.

  10. Cliquez sur OK.

Créer le sujet Pub/Sub

Le sujet Pub/Sub fonctionne avec API Google Workspace Events pour s'abonner aux événements d'un chat comme des messages et notifier l'application Chat en temps réel en temps réel.

Voici comment créer le sujet Pub/Sub:

console Google Cloud

  1. Dans la console Google Cloud, accédez à Menu &gt; Pub/Sub.

    Accéder à Pub/Sub

  2. Cliquez sur Créer un sujet.

  3. Dans le champ ID du sujet, saisissez events-api.

  4. Désélectionnez Ajouter un abonnement par défaut.

  5. Sous Chiffrement, sélectionnez Clé de chiffrement gérée par Google.

  6. Cliquez sur Créer. Le sujet Pub/Sub s'affiche.

  7. Pour que ce sujet Pub/Sub et l'API Google Workspace Events fonctionnent vous pouvez accorder à l'utilisateur IAM Chat l'autorisation de publier le sujet Pub/Sub:

    1. Dans le panneau events-api, sous PERMISSIONS, cliquez sur Ajouter un compte principal

    2. Sous Ajouter des comptes principaux, dans Nouveaux comptes principaux, saisissez chat-api-push@system.gserviceaccount.com

    3. Sous Attribuer des rôles, sélectionnez Pub/Sub dans Sélectionner un rôle. &gt; Éditeur Pub/Sub.

    4. Cliquez sur Enregistrer.

CLI gcloud

  1. Créez un sujet Pub/Sub avec l'ID de sujet events-api:

    gcloud pubsub topics create events-api
    
  2. Autoriser l'utilisateur IAM de Chat à publier sur le sujet Pub/Sub:

    gcloud pubsub topics add-iam-policy-binding events-api \
    --member='serviceAccount:chat-api-push@system.gserviceaccount.com' \
    --role='roles/pubsub.publisher'
    

Créer la base de données Firestore

La base de données Firestore pour conserver et récupérer les données des espaces Chat, comme les messages. Vous ne définissez pas les données , qui est défini implicitement dans l'exemple de code par model/message.js et services/firestore-service.js fichiers.

La base de données de l'application Chat d'assistant de connaissances IA utilise de données NoSQL basé sur documents organisées en collections. Pour en savoir plus, consultez Modèle de données Firestore.

Le schéma suivant présente l'assistant de connaissances IA Modèle de données de l'application Chat:

Modèle de données de la base de données Firestore.

La racine contient deux collections:

  1. spaces, où chaque document représente un espace Chat qui à laquelle l'application Chat est ajoutée. Chaque message est représenté représentées par un document de la sous-collection messages.

  2. users, où chaque document représente un utilisateur qui a ajouté le Application Chat à un espace Chat

Afficher les définitions de collection, de document et de champ

spaces

Un espace Chat qui inclut l'application Chat d'assistant de connaissances IA

Champs
Document IDString
ID unique d'un espace spécifique. Partie du nom de ressource de l'espace dans l'API Chat.
messagesSubcollection of Documents (messages)
Messages envoyés dans l'espace Chat. Correspond au Document ID d'un message dans Firebase.
spaceNameString
Nom unique de l'espace dans l'API Chat. Correspond au nom de ressource de l'espace dans l'API Chat.

messages

Messages envoyés dans l'espace Chat.

Champs
Document IDString
Identifiant unique d'un message spécifique.
nameString
Nom unique d'un message dans l'API Chat. Correspond au nom de ressource du message dans l'API Chat.
textString
Corps du texte du message.
timeString (Timestamp format)
Heure à laquelle le message a été créé.

users

Utilisateurs ayant ajouté l'application Chat d'assistant de connaissances par l'IA à un espace Chat.

Champs
Document IDString
Identifiant unique d'un utilisateur spécifique.
accessTokenString
Jeton d'accès accordé lors de l'autorisation utilisateur OAuth 2.0 utilisé pour appeler les API Google Workspace.
refreshTokenString
Jeton d'actualisation accordé lors de l'autorisation de l'utilisateur OAuth 2.0.

Voici comment créer la base de données Firestore:

console Google Cloud

  1. Dans la console Google Cloud, accédez à Menu &gt; Firestore.

    Accéder à Firestore

  2. Cliquez sur Créer une base de données.

  3. Dans Sélectionner le mode Firestore, cliquez sur Mode natif.

  4. Cliquez sur Continuer.

  5. Configurez la base de données:

    1. Dans le champ Attribuer un nom à la base de données, laissez le champ ID de base de données défini sur (default).

    2. Sous Type d'emplacement, sélectionnez Région.

    3. Dans Région, spécifiez une région pour votre base de données, par exemple us-central1 Pour de meilleures performances, sélectionnez "Identique" ou "À proximité" en tant que fonctions Cloud Functions de l'application Chat.

  6. Cliquez sur Créer une base de données.

CLI gcloud

  • Créez une base de données Firestore en mode natif:

    gcloud firestore databases create \
    --location=LOCATION \
    --type=firestore-native
    

    Remplacez LOCATION par le nom d'un Firestore. région, comme en tant que us-central1. Pour de meilleures performances, sélectionnez "Identique" ou "À proximité" en tant que fonctions Cloud Functions de l'application Chat.

Créer et déployer l'application Chat

Maintenant que votre projet Google Cloud est créé et configuré, vous êtes prêt à créer et déployer l'application Chat. Dans cette section, vous allez suivantes:

  1. Créer et déployer deux fonctions Cloud Un pour répondre au chat d'interaction et un autre pour répondre aux événements Pub/Sub.
  2. Créer et déployer une application Chat sur l'API Google Chat page de configuration.

Créer et déployer les fonctions Cloud

Dans cette section, vous allez créer et déployer deux fonctions Cloud nommées:

  • app: héberge et exécute l'événement qui répond aux événements reçus de Chat sous forme de code HTTP requêtes.
  • eventsApp: reçoit et traite l'espace Chat comme les messages Pub/Sub.

Ensemble, ces fonctions Cloud constituent l'assistant de connaissances en IA Logique d'application de l'application Chat

Si vous le souhaitez, avant de créer les fonctions Cloud, prenez le temps de passer en revue et familiarisez-vous avec l'exemple de code hébergé sur GitHub.

Afficher sur GitHub

Créer et déployer app

console Google Cloud

  1. Téléchargez le code depuis GitHub sous forme de fichier ZIP.

    Télécharger le fichier ZIP

  2. Décompressez le fichier ZIP téléchargé.

    Le dossier extrait contient l'intégralité des exemples Google Workspace. un dépôt de clés.

  3. Dans le dossier extrait, accédez à Répertoire google-chat-samples-main/node/ai-knowledge-assistant.

  4. Dans le répertoire google-chat-samples/node/ai-knowledge-assistant, ajoutez le fichier client_secrets.json que vous avez téléchargé lors de a créé des identifiants pour l'ID client OAuth pour l'authentification et l'autorisation.

  5. Compressez le contenu du dossier ai-knowledge-assistant dans un fichier ZIP. .

    Le répertoire racine du fichier ZIP doit contenir les éléments suivants : fichiers et dossiers:

    • .gcloudignore
    • .gitignore
    • README.md
    • deploy.sh
    • env.js
    • events_index.js
    • http_index.js
    • index.js
    • client_secrets.json
    • package-lock.json
    • package.json
    • controllers/
    • model/
    • services/
    • test/
  6. Dans la console Google Cloud, accédez à Menu &gt; Cloud Functions.

    Accéder à Cloud Functions

    Assurez-vous que le projet Google Cloud de votre L'application Chat est sélectionnée.

  7. Cliquez sur Créer une fonction.

  8. Sur la page Créer une fonction, configurez votre fonction:

    1. Dans Environnement, sélectionnez 2e génération.
    2. Dans le champ Nom de la fonction, saisissez app.
    3. Dans Région, sélectionnez une région, par exemple us-central1. Cette région doit correspondre à la région que vous avez définie dans l'URI de redirection autorisé lorsque vous créé des identifiants client OAuth pour l'authentification et l'autorisation.
    4. Dans Type de déclencheur, sélectionnez HTTPS.
    5. Sous Authentification, sélectionnez Autorisez les appels non authentifiés.
    6. Cliquez sur Suivant.
  9. Dans Environnement d'exécution, sélectionnez Node.js 20.

  10. Dans Point d'entrée, supprimez le texte par défaut et saisissez app

  11. Dans Code source, sélectionnez Importation de fichier ZIP.

  12. Dans Bucket de destination : create ou sélectionnez un bucket:

    1. Cliquez sur Parcourir.
    2. Choisissez un bucket.
    3. Cliquez sur Sélectionner.

    Google Cloud importe le fichier ZIP dans les fichiers des composants et les extrait dans ce bucket. Cloud Functions copie ensuite les fichiers des composants la fonction Cloud.

  13. Dans Fichier ZIP, importez le fichier ZIP que vous avez téléchargé depuis GitHub. extraites et recompressées:

    1. Cliquez sur Parcourir.
    2. Accédez au fichier ZIP et sélectionnez-le.
    3. Cliquez sur Open (Ouvrir).
  14. Cliquez sur Déployer.

    La page Détails de Cloud Functions s'ouvre, et votre fonction s'affiche. avec deux indicateurs de progression: un pour la compilation et l'autre pour le service. Lorsque les deux indicateurs de progression disparaissent et sont remplacés par une coche votre fonction est déployée et prête.

  15. Modifiez l'exemple de code pour définir des constantes:

    1. Sur la page Détails de la fonction Cloud, cliquez sur Modifier.
    2. Cliquez sur Suivant.
    3. Dans Code source, sélectionnez Éditeur intégré.
    4. Dans l'éditeur intégré, ouvrez et modifiez le fichier env.js: <ph type="x-smartling-placeholder">
        </ph>
      1. Définissez la valeur de project sur votre ID de projet Google Cloud.
      2. Définissez la valeur de location sur le région, comme us-central1.
  16. Cliquez sur Déployer.

CLI gcloud

  1. Clonez le code depuis GitHub:

    git clone https://github.com/googleworkspace/google-chat-samples.git
    
  2. Passez au répertoire qui contient le code de ces connaissances sur l'IA Application Chat de l'Assistant Google:

    cd google-chat-samples/node/ai-knowledge-assistant
    
  3. Dans le répertoire google-chat-samples/node/ai-knowledge-assistant, ajoutez le fichier client_secrets.json que vous avez téléchargé lors de a créé des identifiants pour l'ID client OAuth pour l'authentification et l'autorisation.

  4. Modifiez le fichier env.js pour définir les variables d'environnement:

    1. Définissez la valeur de project sur votre projet Cloud. ID.
    2. Définissez la valeur de location sur le region (région), comme us-central1
  5. Déployez la fonction Cloud sur Google Cloud:

    gcloud functions deploy app \
    --gen2 \
    --region=REGION \
    --runtime=nodejs20 \
    --source=. \
    --entry-point=app \
    --trigger-http \
    --allow-unauthenticated
    

    Remplacez REGION par la valeur de l'attribut région pour correspondre à celle définie dans le fichier env.js, par exemple us-central1.

Créer et déployer eventsApp

console Google Cloud

  1. Dans la console Google Cloud, accédez à Menu &gt; Cloud Functions.

    Accéder à Cloud Functions

    Assurez-vous que le projet Google Cloud de votre L'application Chat est sélectionnée.

  2. Cliquez sur Créer une fonction.

  3. Sur la page Créer une fonction, configurez votre fonction:

    1. Dans Environnement, sélectionnez 2e génération.
    2. Dans le champ Nom de la fonction, saisissez eventsApp.
    3. Dans Région, sélectionnez une région, par exemple us-central1. Cette région doit correspondre à la région que vous avez définie dans l'URI de redirection autorisé lorsque vous créé des identifiants client OAuth pour l'authentification et l'autorisation.
    4. Dans Type de déclencheur, sélectionnez Cloud Pub/Sub.
    5. Dans Sujet Cloud Pub/Sub, sélectionnez le nom du sujet Pub/Sub que vous dont le format est projects/PROJECT/topics/events-apiPROJECT est l'ID de votre projet Cloud.
    6. Si un message commençant par Service account(s) might not have enough permissions to deploy the function with the selected trigger. s'affiche, cliquez sur Tout autoriser.
    7. Cliquez sur Suivant.
  4. Dans Environnement d'exécution, sélectionnez Node.js 20.

  5. Dans Point d'entrée, supprimez le texte par défaut et saisissez eventsApp

  6. Dans Code source, sélectionnez Zip depuis Cloud Storage.

  7. Sous Emplacement Cloud Storage, cliquez sur Parcourir.

  8. Sélectionnez le bucket dans lequel vous avez importé le fichier ZIP lors de la création du app.

  9. Cliquez sur le fichier ZIP que vous avez importé.

  10. Cliquez sur Sélectionner.

  11. Cliquez sur Déployer.

    La page Détails de Cloud Functions s'ouvre, et votre fonction s'affiche. avec trois indicateurs de progression: un pour la compilation, un pour le service, et l'autre pour le déclencheur. Lorsque les trois indicateurs de progression disparaissent et remplacés par une coche, votre fonction est déployée et prête.

  12. Modifiez l'exemple de code pour définir des constantes:

    1. Sur la page Détails de la fonction Cloud, cliquez sur Modifier.
    2. Cliquez sur Suivant.
    3. Dans Code source, sélectionnez Éditeur intégré.
    4. Dans l'éditeur intégré, ouvrez et modifiez le fichier env.js: <ph type="x-smartling-placeholder">
        </ph>
      1. Définissez la valeur de project sur votre ID de projet Google Cloud.
      2. Définissez la valeur de location sur le région, comme us-central1.
  13. Cliquez sur Déployer.

CLI gcloud

  1. Dans la gcloud CLI, si ce n'est pas déjà fait, passez au répertoire qui contient le code de ces connaissances l'application Chat de l'Assistant Google cloné à partir de GitHub:

    cd google-chat-samples/node/ai-knowledge-assistant
    
  2. Dans le répertoire google-chat-samples/node/ai-knowledge-assistant, ajoutez le fichier client_secrets.json que vous avez téléchargé lors de a créé des identifiants pour l'ID client OAuth pour l'authentification et l'autorisation.

  3. Modifiez le fichier env.js pour définir les variables d'environnement:

    1. Définissez la valeur de project sur votre projet Cloud. ID.
    2. Définissez la valeur de location sur le region (région), comme us-central1
  4. Déployez la fonction Cloud sur Google Cloud:

    gcloud functions deploy eventsApp \
    --gen2 \
    --region=REGION \
    --runtime=nodejs20 \
    --source=. \
    --entry-point=eventsApp \
    --trigger-topic=events-api
    

    Remplacez REGION par la valeur de l'attribut région pour correspondre à celle définie dans le fichier env.js, par exemple us-central1.

Copier l'URL du déclencheur de la fonction Cloud app

Collez l'URL du déclencheur de la fonction Cloud app dans la section suivante lorsque vous Configurez l'application Chat dans la console Google Cloud.

console Google Cloud

  1. Dans la console Google Cloud, accédez à Menu &gt; Cloud Functions.

    Accéder à Cloud Functions

  2. Dans la colonne Nom de la liste des fonctions Cloud, cliquez sur app

  3. Cliquez sur Déclencher.

  4. Copiez l'URL.

CLI gcloud

  1. Décrivez la fonction Cloud app:

    gcloud functions describe app
    
  2. Copiez la propriété url.

Configurer l'application Chat dans la console Google Cloud

Cette section explique comment configurer l'API Chat dans le la console Google Cloud avec des informations sur votre application Chat, y compris le nom de l'application Chat et l'URL du déclencheur du cloud de l'application Chat Fonction à laquelle envoie des événements d'interaction Chat.

  1. Dans la console Google Cloud, cliquez sur Menu. &gt; Autres produits &gt; Google Workspace &gt; Bibliothèque de produits &gt; API Google Chat &gt; Gérer &gt; Configuration.

    Accéder à la configuration de l'API Chat

  2. Dans le champ Nom de l'application, saisissez AI knowledge assistant.

  3. Dans le champ URL de l'avatar, saisissez https://fonts.gstatic.com/s/i/short-term/release/googlesymbols/live_help/default/24px.svg.

  4. Dans Description, saisissez Answers questions with AI.

  5. Activez l'option Activer les fonctionnalités interactives.

  6. Sous Fonctionnalité, sélectionnez Rejoindre des espaces et des conversations de groupe.

  7. Sous Paramètres de connexion, sélectionnez URL de l'application.

  8. Dans URL de l'application, collez l'URL de déclencheur de la fonction Cloud app. formaté comme suit : https://REGION-PROJECT_ID.cloudfunctions.net/appREGION est la région de la fonction Cloud, par exemple us-central1 et PROJECT_ID est l'ID de projet Google Cloud que vous avez créé.

  9. Sous Visibilité, sélectionnez Rendre cette application Chat accessible à des personnes et groupes spécifiques de votre domaine Workspace, puis saisissez votre adresse e-mail.

  10. Si vous le souhaitez, sous Journaux, sélectionnez Consigner les erreurs dans Logging.

  11. Cliquez sur Enregistrer. Un message de configuration enregistrée s'affiche. L'application Chat est prêts à être testés.

Tester l'application Chat

Testez l'application Chat d'assistant de connaissances IA dans un Espace Chat contenant des messages en posant des questions que l'IA et l'application Chat d'assistant de connaissances.

Voici quelques façons de tester l'assistant de connaissances IA Application de chat:

  • Ajouter l'application Chat d'assistant de connaissances IA à une espace Chat existant et posez des questions pertinentes pour cet espace.
  • Créez un espace Chat et publiez quelques messages à utiliser une source de données. Les messages proviennent des sources suivantes : Gemini avec une requête comme Answer 20 common onboarding questions employees ask their teams. ou vous pouvez coller quelques paragraphes du Guide Développer avec Chat puis poser des questions à son sujet.

Pour ce tutoriel, nous allons créer un espace Chat et en coller quelques-uns paragraphes du développer avec Chat.

  1. Ouvrez Google Chat.

    Accéder à Google Chat

  2. Pour créer un espace Chat:

    1. Cliquez sur New Chat (Nouvelle discussion). &gt; Créer un espace.

    2. Dans Nom de l'espace, saisissez Testing AI knowledge assistant app.

    3. Sous À quoi sert cet espace ?, sélectionnez Collaboration.

    4. Sous Paramètres d'accès, choisissez qui peut accéder à l'espace.

    5. Cliquez sur Créer.

  3. Ajoutez les messages à utiliser comme source de données:

    1. Dans un navigateur Web, accédez au développer avec Chat .

    2. Copiez et collez le contenu du guide dans l'espace Chat que vous avez créés.

  4. Ajoutez l'application Chat d'assistant de connaissances IA:

    1. Dans la barre de rédaction du message, saisissez @AI knowledge assistant, puis dans menu des suggestions qui s'affiche, sélectionnez l'assistant de connaissances IA Application Chat, puis appuyez sur enter.

    2. Un message s'affiche pour vous demander si vous souhaitez ajouter l'assistant de connaissances IA Discutez de l'application avec l'espace. Cliquez sur Ajouter à l'espace.

    3. Si vous ajoutez l'application Chat pour la première fois à un espace, vous devez configurer l'authentification et l'autorisation Application de chat:

      1. Cliquez sur Configurer.
      2. Une nouvelle fenêtre ou un nouvel onglet de navigateur s'ouvre, vous demandant de choisir un Compte Google. Sélectionnez le compte avec lequel vous effectuez le test.
      3. Examiner les autorisations accordées à l'assistant de connaissances IA Requêtes d'applications de chat Pour les accorder, cliquez sur Autoriser.
      4. Le message You may close this page now. s'affiche. Fermez la fenêtre ou l'onglet du navigateur, puis revenez à la Espace Chat.
  5. Poser une question :

    1. Dans la barre de rédaction du message, saisissez une question du type What are Google Chat apps?

    2. L'application Chat d'assistant de connaissances IA répond.

    3. Éventuellement, si la réponse est inexacte ou insuffisante, pour aider l'IA améliorer l'historique des conversations, cliquer sur Obtenir de l'aide L'application Chat de l'assistant de connaissances IA mentionne un gestionnaire de l'espace et leur demande de répondre à la question. La prochaine fois, L'application Chat d'assistant de connaissances IA saura la réponse !

Considérations, choix d'architectures alternatives et étapes suivantes

Cette section passe en revue d'autres façons dont l'assistant de connaissances IA Il est possible de créer une application de chat.

Firestore, Cloud Storage ou les messages de liste appelant dans l'API Chat

Ce tutoriel recommande de stocker des données d'espace Chat telles que d'une base de données Firestore, car cela améliore les performances en appelant la méthode list sur Message ressource avec l'API Chat chaque fois que L'application de chat répond à une question. De plus, appeler list messages peut provoquer le Application Chat qui atteint les limites de quota de l'API

Toutefois, si l'historique des conversations d'un espace Chat devient trop long, l'utilisation de Firestore peut s'avérer coûteuse.

<ph type="x-smartling-placeholder"></ph> Cloud Storage constitue une alternative à Firestore. Dans chaque espace, l'assistant de connaissances IA L'application Chat active dans obtient son propre objet, et chaque objet est un fichier texte qui contient tous les messages de l'espace. L'avantage cette approche consiste à transmettre l'intégralité du contenu du fichier texte à Vertex AI avec Gemini, mais l'inconvénient est qu'il faut plus de travail mettre à jour l'historique de la conversation, car il est impossible d'ajouter des données à un objet dans de stockage : remplacez-la uniquement. Cette approche n'a aucun sens si vous utilisez régulièrement l'historique des messages, mais ce serait un bon choix si vous effectuez des mises à jour régulièrement l'historique des messages, disons une fois par semaine.

Résoudre les problèmes

Lorsqu'une application ou card renvoie une erreur, la L'interface Chat affiche le message "Une erreur s'est produite". ou "Impossible de traiter votre demande." Parfois, l'interface utilisateur de Chat n'affiche aucun message d'erreur, mais que l'application ou la carte produit un résultat inattendu. Par exemple, un message de fiche peut ne pas s'affichent.

Même s'il est possible qu'aucun message d'erreur ne s'affiche dans l'interface utilisateur de Chat, Des messages d'erreur descriptifs et des données de journaux sont disponibles pour vous aider à corriger les erreurs. Lorsque la journalisation des erreurs est activée pour les applications Chat. Pour obtenir de l'aide, le débogage et la correction des erreurs, consultez Résoudre les problèmes liés à Google Chat

Effectuer un nettoyage

Afin d'éviter que des frais ne soient facturés sur votre compte Google Cloud pour utilisées dans ce tutoriel, nous vous recommandons de supprimer Google Cloud.

  1. Dans la console Google Cloud, accédez à la page Gérer les ressources. Cliquez sur Menu &gt; IAM et Administrateur &gt; Gérer les ressources.

    <ph type="x-smartling-placeholder"></ph> Accéder au gestionnaire de ressources

  2. Dans la liste des projets, sélectionnez celui que vous souhaitez supprimer, puis cliquez sur Supprimez .
  3. Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour le supprimer. le projet.