Ce tutoriel explique comment créer une application Google Chat qui répond à des questions basées sur des conversations dans des espaces Chat à l'aide de l'IA générative fournie par Vertex AI avec Gemini. L'application Chat utilise l'API Google Workspace Events ainsi que Pub/Sub pour reconnaître et répondre en temps réel aux questions publiées dans les espaces Chat, même lorsqu'elles ne sont pas mentionnées.
L'application Chat utilise tous les messages envoyés dans l'espace comme source de données et base de connaissances: lorsqu'un utilisateur pose une question, l'application Chat recherche les réponses précédemment partagées, puis en partage une. Si aucune réponse n'est trouvée, le système indique qu'il n'y a pas de réponse. Pour chaque réponse, les utilisateurs peuvent cliquer sur un bouton d'action pour les accessoires afin de @mentionner un gestionnaire de l'espace et de demander une réponse. En utilisant Gemini AI, l'application Google Chat adapte et développe sa base de connaissances à mesure qu'elle entraîne des conversations en continu sur les conversations dans les espaces auxquels elle a été ajoutée.
Voici comment l'application Chat fonctionne dans l'espace d'assistance et d'intégration des employés:
-
Figure 2 : Dana demande si l'entreprise propose des formations à la prise de parole en public. -
Figure 3 : L'application Chat de l'assistant de connaissances en IA invite Vertex AI avec Gemini à répondre à la question de Dana en fonction de l'historique de conversation de l'espace Chat, puis partage la réponse.
Prérequis
Un compte Google Workspace ayant accès à Google Chat
L'accès aux services Google Cloud permet d'effectuer les opérations suivantes:
- Créez un projet Google Cloud.
- associer un compte de facturation Google Cloud au projet Cloud ; Pour savoir si vous y avez accès, consultez la section Autorisations requises pour activer la facturation.
- utiliser des appels de fonction Google Cloud non authentifiés, que vous pouvez vérifier en déterminant si votre organisation Google Cloud utilise le partage restreint de domaine ;
Si nécessaire, demandez à votre administrateur Google Cloud de vous accorder un accès ou une autorisation.
Si vous utilisez Google Cloud CLI, un environnement de développement Node.js configuré pour fonctionner avec gcloud CLI. Consultez la page Configurer un environnement de développement Node.js.
Objectifs
- Créez une application Chat qui utilise l'IA générative pour répondre à des questions en fonction des connaissances partagées lors des conversations d'espaces Chat.
- Avec l'IA générative :
- Détectez les questions des employés et répondez-y.
- apprendre en continu des conversations en cours dans un espace Chat ;
- Écoutez des messages et répondez-y en temps réel dans un espace Chat, même lorsque l'application Chat ne reçoit pas de messages directement.
- Persistance des messages en écrivant dans une base de données Firestore et en lisant celle-ci.
- Facilitez la collaboration dans un espace Chat en mentionnant les gestionnaires de l'espace lorsqu'aucune réponse à une question n'est trouvée.
Architecture
Le schéma suivant illustre l'architecture des ressources Google Workspace et Google Cloud utilisées par l'application Chat de l'assistant de connaissances sur l'IA.
L'application Chat de l'assistant de connaissances sur l'IA fonctionne comme suit:
Un utilisateur ajoute l'application Chat de l'assistant de connaissances sur l'IA à un espace Chat:
L'application Chat invite l'utilisateur qui l'a ajoutée à l'espace Chat à configurer l'authentification et l'autorisation.
L'application Chat récupère les messages de l'espace en appelant la méthode
spaces.messages.list
dans l'API Chat, puis stocke les messages récupérés dans une base de données Firestore.L'application Chat appelle la méthode
subscriptions.create
dans l'API Google Workspace Events pour commencer à écouter des événements tels que les messages dans l'espace. Le point de terminaison de notification de l'abonnement est un sujet Pub/Sub qui utilise Eventarc pour transférer l'événement à l'application Chat.L'application Chat publie un message de présentation à l'espace.
Un utilisateur de l'espace Chat publie un message:
L'application Chat reçoit le message en temps réel du sujet Pub/Sub.
L'application Chat ajoute le message à la base de données Firestore.
Si un utilisateur modifie ou supprime le message ultérieurement, l'application Chat reçoit l'événement mis à jour ou supprimé en temps réel, puis met à jour ou supprime le message dans la base de données Firestore.
L'application Chat envoie le message à Vertex AI avec Gemini:
L'invite indique à Vertex AI avec Gemini de vérifier si le message inclut une question. Si c'est le cas, Gemini répond à la question en fonction de l'historique des messages de l'espace Chat conservé dans Firestore. L'application Google Chat envoie ensuite le message à l'espace Chat. Si ce n'est pas le cas, ne répondez pas.
Si Vertex AI avec Gemini répond à la question, l'application Chat publie la réponse en appelant la méthode
spaces.messages.create
dans l'API Chat à l'aide de l'authentification de l'application.Si Vertex AI avec Gemini ne peut pas répondre à la question, l'application Chat publie un message indiquant qu'elle ne trouve pas de réponse à cette question dans l'historique de l'espace Chat.
Les messages incluent toujours un bouton d'action associé à un accessoire sur lequel les utilisateurs peuvent cliquer. L'application Chat @mentionne alors un gestionnaire d'espace pour lui demander de répondre.
L'application Chat reçoit une notification de cycle de vie de l'API Google Workspace Events indiquant que l'abonnement de l'espace Chat est sur le point d'expirer:
- L'application Chat envoie une requête de renouvellement de l'abonnement en appelant la méthode
subscriptions.patch
dans l'API Google Workspace Events.
- L'application Chat envoie une requête de renouvellement de l'abonnement en appelant la méthode
L'application Chat est supprimée d'un espace Chat:
L'application Chat supprime l'abonnement en appelant la méthode
subscriptions.delete
dans l'API Google Workspace Events.L'application Chat supprime les données de l'espace Chat de Firestore.
Examiner les produits utilisés par l'application Chat de l'assistant de connaissances sur l'IA
L'application Chat de l'assistant de connaissances en IA utilise les produits Google Workspace et Google Cloud suivants:
- API Vertex AI avec Gemini : une plate-forme d'IA générative fournie par Gemini. L'application Chat de l'assistant de connaissances sur l'IA 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 événements d'interaction Chat, tels que des messages, et y répondent. L'application Chat de l'assistant de connaissances sur l'IA utilise l'API Chat pour :
- Recevez des événements d'interaction envoyés par Chat et répondez-y.
- 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 il apparaît dans Chat, comme le nom et l'avatar.
- API Google Workspace Events : cette API vous permet de vous abonner à des événements et de gérer les notifications de modification dans les applications Google Workspace. L'application Chat de l'assistant de connaissances en IA utilise l'API Google Workspace Events pour écouter les messages publiés dans un espace Chat. Elle peut ainsi détecter les questions et y répondre même lorsqu'elles ne sont pas mentionnées.
- Firestore : base de données de documents sans serveur. L'application Chat de l'assistant de connaissances en IA utilise Firestore pour stocker des données sur les messages envoyés dans un espace Chat.
- Pub/Sub : Pub/Sub est un service de messagerie asynchrone et évolutif qui dissocie les services produisant des messages des services qui les traitent. L'application Chat de l'assistant de connaissances sur l'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 à implémenter, personnaliser ni gérer l'infrastructure sous-jacente. L'application Chat de l'assistant de connaissances sur l'IA utilise Eventarc pour acheminer les événements de Pub/Sub vers un espace Chat et vers la fonction Cloud qui reçoit et traite les événements d'abonnement.
-
Cloud Functions : service de calcul sans serveur léger qui vous permet de créer des fonctions autonomes à application unique pouvant répondre à des interactions et à des événements d'abonnement Chat sans avoir à gérer de serveur ni d'environnement d'exécution. L'application Chat de l'assistant de connaissances sur l'IA utilise deux fonctions Cloud nommées :
-
app
: hébergez le point de terminaison HTTP auquel Chat envoie des événements d'interaction en tant que plate-forme de calcul pour exécuter une logique qui traite ces événements et y répond. -
eventsApp
: reçoit et traite les événements d'un espace Chat, tels que les messages d'un abonnement Pub/Sub.
- Cloud Build : plate-forme entièrement gérée d'intégration, de livraison et de déploiement continus qui exécute des compilations automatisées.
- 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 l'application Chat.
Créer un projet Google Cloud
Console Google Cloud
- Dans la console Google Cloud, accédez à Menu > IAM et administration > Créer un projet.
-
Dans le champ Nom du projet, saisissez un nom descriptif pour votre projet.
Facultatif: Pour modifier l'ID du projet, cliquez sur Modifier. Une fois le projet créé, l'ID ne pourra plus être modifié. Par conséquent, choisissez un ID qui répond à vos besoins tout au long de la durée de vie du projet.
- Dans le champ Emplacement, cliquez sur Parcourir pour afficher les emplacements potentiels pour votre projet. Cliquez ensuite sur Sélectionner.
- Cliquez sur Créer. La console Google Cloud accède à la page "Tableau de bord", et votre projet est créé en quelques minutes.
gcloud CLI
Dans l'un des environnements de développement suivants, accédez à la Google Cloud CLI ("gcloud"):
-
Cloud Shell: pour utiliser un terminal en ligne avec la gcloud CLI configurée, activez Cloud Shell.
Activer Cloud Shell -
Shell locale: pour utiliser un environnement de développement local, installez et initialize la gcloud CLI.
Pour créer un projet Cloud, utilisez la commande "gcloud projects create" :gcloud projects create PROJECT_ID
Activer la facturation pour le projet Cloud
Console Google Cloud
- Dans la console Google Cloud, accédez à Facturation. Cliquez sur Menu > Facturation > Mes projets.
- Dans Sélectionner une organisation, choisissez l'organisation associée à votre projet Google Cloud.
- Sur la ligne du projet, ouvrez le menu Actions ( ), cliquez sur Modifier la facturation, puis sélectionnez le compte de facturation Cloud.
- Cliquez sur Définir le compte.
gcloud CLI
- Pour afficher la liste des comptes de facturation disponibles, exécutez la commande suivante :
gcloud billing accounts list
- 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
correspond à l'ID du projet Cloud pour lequel vous souhaitez activer la facturation.BILLING_ACCOUNT_ID
est l'ID du compte de facturation à associer au projet Google Cloud.
Activer les API
Console Google Cloud
Dans la console Google Cloud, activez l'API Google Chat, l'API Vertex AI, l'API Cloud Functions, l'API Firestore, l'API Cloud Build, l'API Pub/Sub, l'API Google Workspace Events, l'API Eventarc et l'API Cloud Run Admin.
Vérifiez que vous activez les API dans le bon projet Cloud, puis cliquez sur Suivant.
Vérifiez que vous activez les bonnes API, puis cliquez sur Activer.
gcloud CLI
Si nécessaire, définissez le projet Cloud actuel sur celui que vous avez créé:
gcloud config set project PROJECT_ID
Remplacez PROJECT_ID par l'ID du projet Cloud que vous avez créé.
Activez l'API Google Chat, l'API Vertex AI, l'API Cloud Functions, l'API Firestore, l'API Cloud Build, l'API Pub/Sub, l'API Google Workspace Events, l'API Eventarc et l'API Cloud Run Admin:
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 à l'application Chat d'accéder aux ressources dans Google Workspace et Google Cloud.
Dans ce tutoriel, vous allez publier l'application Google Chat en interne. Vous pouvez donc utiliser les informations d'espace réservé. Avant de publier l'application Google Chat en externe, remplacez les informations de l'espace réservé par des informations réelles pour l'écran de consentement.
Configurer l'écran de consentement OAuth, spécifier les champs d'application et enregistrer votre application
Dans la console Google Cloud, accédez à Menu > API et services > Écran de consentement OAuth.
Sous Type d'utilisateur, sélectionnez Interne, puis cliquez sur Créer.
Dans le champ Nom de l'application, saisissez
AI knowledge assistant
.Dans Adresse e-mail d'assistance utilisateur, sélectionnez votre adresse e-mail ou un groupe Google approprié.
Sous Coordonnées du développeur, saisissez votre adresse e-mail.
Cliquez sur Save and Continue (Enregistrer et continuer).
Cliquez sur Ajouter ou supprimer des champs d'application. Un panneau s'affiche avec la liste des champs d'application de chaque API activée dans votre projet Cloud.
Sous Ajouter manuellement des champs d'application, collez le champ d'application suivant:
https://www.googleapis.com/auth/chat.messages
Cliquez sur Ajouter à la table.
Cliquez sur Update (Mettre à jour).
Cliquez sur Save and Continue (Enregistrer et continuer).
Consultez le récapitulatif d'enregistrement de l'application, puis cliquez sur Revenir au tableau de bord.
Créer des identifiants d'ID client OAuth
Dans la console Google Cloud, accédez à Menu > API et services > Identifiants.
Cliquez sur Créer des identifiants > ID client OAuth.
Cliquez sur Type d'application > Application Web.
Dans le champ Name (Nom), saisissez un nom pour l'identifiant. Ce nom n'est affiché que dans la console Google Cloud.
Sous URI de redirection autorisés, cliquez sur Ajouter un URI.
Dans les 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 sur cette valeur. - PROJECT_ID: ID de projet du projet Cloud que vous avez créé
- REGION: région de la fonction Cloud, par exemple
Cliquez sur Créer.
Dans la fenêtre Client OAuth créé, cliquez sur Télécharger au format JSON.
Enregistrez le fichier téléchargé sous le nom
client_secrets.json
. Plus tard, lorsque vous créerez les deux fonctions Cloud, vous inclurez le fichierclient_secrets.json
dans chaque déploiement.Cliquez sur OK.
Créer le sujet Pub/Sub
Le sujet Pub/Sub fonctionne avec l'API Google Workspace Events pour s'abonner aux événements d'un espace Chat, tels que des messages, et avertir l'application Chat en temps réel.
Voici comment créer le sujet Pub/Sub:
Console Google Cloud
Dans la console Google Cloud, accédez à Menu > Pub/Sub.
Cliquez sur Créer un sujet.
Dans le champ ID du sujet, saisissez
events-api
.Désélectionnez Ajouter un abonnement par défaut.
Sous Chiffrement, sélectionnez Clé de chiffrement gérée par Google.
Cliquez sur Créer. Le sujet Pub/Sub s'affiche.
Pour que ce sujet Pub/Sub et l'API Google Workspace Events fonctionnent ensemble, autorisez l'utilisateur IAM de Chat à publier des messages dans le sujet Pub/Sub:
Dans le panneau events-api, sous AUTORISATIONS, cliquez sur Ajouter un compte principal.
Sous Ajouter des comptes principaux, dans Nouveaux comptes principaux, saisissez
chat-api-push@system.gserviceaccount.com
.Sous Attribuer des rôles, dans Sélectionner un rôle, sélectionnez Pub/Sub > Éditeur Pub/Sub.
Cliquez sur Enregistrer.
gcloud CLI
Créez un sujet Pub/Sub avec l'ID de sujet
events-api
:gcloud pubsub topics create events-api
Accordez à l'utilisateur IAM Chat l'autorisation de publier des messages 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 récupère les données
des espaces Chat, telles que les messages, Vous ne définissez pas le modèle de données, qui est défini implicitement dans l'exemple de code par les fichiers model/message.js
et services/firestore-service.js
.
La base de données de l'application Chat de l'assistant de connaissances sur l'IA utilise un modèle de données NoSQL basé sur des documents Modèle de données Firestore.
organisés en collections. Pour en savoir plus, consultez la sectionLe schéma suivant présente le modèle de données de l'assistant de connaissances en IA pour Chat:
La racine contient deux collections:
spaces
, où chaque document représente un espace Chat auquel l'application Chat est ajoutée. Chaque message est représenté par un document de la sous-collectionmessages
.users
, où chaque document représente un utilisateur qui a ajouté l'application Chat à un espace Chat.
Afficher les définitions des collections, des documents et des champs
spaces
Un espace Chat qui inclut l'application Chat de l'assistant de connaissances sur l'IA
Champs | |
---|---|
Document ID | String ID unique d'un espace spécifique. Une partie du nom de ressource de l'espace dans l'API Chat. |
messages | Subcollection of Documents ( Messages envoyés dans l'espace Chat. Correspond à l'élément Document ID d'un message dans Firebase. |
spaceName | String 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 ID | String ID unique d'un message spécifique. |
name | String Nom unique d'un message dans l'API Chat. Correspond au nom de ressource du message dans l'API Chat. |
text | String Corps du texte du message. |
time | String (Timestamp format) Heure à laquelle le message a été créé. |
users
Utilisateurs ayant ajouté l'application Chat de l'assistant de connaissances sur l'IA à un espace Chat
Champs | |
---|---|
Document ID | String ID unique d'un utilisateur spécifique. |
accessToken | String Jeton d'accès accordé lors de l'autorisation utilisateur OAuth 2.0 utilisée pour appeler les API Google Workspace. |
refreshToken | String 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
Dans la console Google Cloud, accédez à Menu > Firestore.
Cliquez sur Créer une base de données.
Dans Sélectionnez votre mode Firestore, cliquez sur Mode natif.
Cliquez sur Continuer.
Configurez la base de données:
Dans Attribuer un nom à votre base de données, laissez le champ ID de base de données défini sur
(default)
.Sous Type d'emplacement, sélectionnez Région.
Dans Région, spécifiez une région pour votre base de données, telle que
us-central1
. Pour de meilleures performances, sélectionnez le même emplacement ou un emplacement à proximité que les fonctions Cloud Functions de l'application Chat.
Cliquez sur Créer une base de données.
gcloud CLI
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'une région Firestore, telle que
us-central1
. Pour de meilleures performances, sélectionnez le même emplacement ou un emplacement à proximité que les 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 procéder comme suit:
- Créer et déployer deux fonctions Cloud Functions un pour répondre aux événements d'interaction Chat et l'autre pour répondre aux événements Pub/Sub.
- Créez et déployez une application Chat sur la page de configuration de l'API Google Chat.
Créer et déployer les fonctions Cloud Functions
Dans cette section, vous allez créer et déployer deux fonctions Cloud nommées:
app
: héberge et exécute le code de l'application Chat qui répond aux événements reçus de Chat sous forme de requêtes HTTP.eventsApp
: reçoit et traite les événements des espaces Chat tels que les messages provenant de Pub/Sub.
Ensemble, ces fonctions Cloud constituent la logique d'application de l'assistant de connaissances en IA.
Si vous le souhaitez, avant de créer les fonctions Cloud, prenez le temps d'examiner et de vous familiariser avec l'exemple de code hébergé sur GitHub.
Créer et déployer app
Console Google Cloud
Téléchargez le code depuis GitHub sous forme de fichier ZIP.
Décompressez le fichier ZIP téléchargé.
Le dossier extrait contient l'intégralité du dépôt d'exemples Google Workspace.
Dans le dossier extrait, accédez au répertoire
google-chat-samples-main/node/ai-knowledge-assistant
.Dans le répertoire
google-chat-samples/node/ai-knowledge-assistant
, ajoutez le fichierclient_secrets.json
que vous avez téléchargé lors de la création des identifiants d'ID client OAuth pour l'authentification et l'autorisation.Compressez le contenu du dossier
ai-knowledge-assistant
dans un fichier ZIP.Le répertoire racine du fichier ZIP doit contenir les fichiers et dossiers suivants:
.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/
Dans la console Google Cloud, accédez à Menu > Cloud Functions.
Assurez-vous que le projet Google Cloud de votre application Chat est sélectionné.
Cliquez sur
Créer une fonction.Sur la page Créer une fonction, configurez votre fonction:
- Dans Environnement, sélectionnez 2e génération.
- Dans le champ Nom de la fonction, saisissez
app
. - Dans Région, sélectionnez une région, par exemple
us-central1
. Cette région doit correspondre à celle que vous avez définie dans l'URI de redirection autorisé lors de la création d'identifiants d'ID client OAuth pour l'authentification et l'autorisation. - Dans Type de déclencheur, sélectionnez HTTPS.
- Sous Authentification, sélectionnez Autoriser les appels non authentifiés.
- Cliquez sur Suivant.
Dans le champ Environnement d'exécution, sélectionnez Node.js 20.
Dans Point d'entrée, supprimez le texte par défaut et saisissez
app
.Dans Code source, sélectionnez Importation de code postal.
Dans Bucket de destination, créez ou sélectionnez un bucket:
- Cliquez sur Parcourir.
- Choisissez un bucket.
- Cliquez sur Sélectionner.
Google Cloud importe le fichier ZIP dans ce bucket et extrait les fichiers des composants. Cloud Functions copie ensuite les fichiers des composants dans la fonction Cloud.
Dans Fichier ZIP, importez le fichier ZIP que vous avez téléchargé à partir de GitHub, extrait et recompressé:
- Cliquez sur Parcourir.
- Accédez au fichier ZIP et sélectionnez-le.
- Cliquez sur Ouvrir.
Cliquez sur Deploy (Déployer).
La page Détails de Cloud Functions s'ouvre et votre fonction apparaît avec deux indicateurs de progression: un pour la compilation et un 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.
Modifiez l'exemple de code pour définir des constantes:
- Sur la page Détails de la fonction Cloud, cliquez sur Modifier.
- Cliquez sur Suivant.
- Dans Code source, sélectionnez Éditeur intégré.
- Dans l'éditeur intégré, ouvrez et modifiez le fichier
env.js
:- Définissez la valeur de project sur l'ID de votre projet Cloud.
- Définissez la valeur de location sur la région de la fonction Cloud, par exemple
us-central1
.
Cliquez sur Deploy (Déployer).
gcloud CLI
Clonez le code depuis GitHub:
git clone https://github.com/googleworkspace/google-chat-samples.git
Passez au répertoire qui contient le code de cette application Chat de l'assistant de connaissances sur l'IA:
cd google-chat-samples/node/ai-knowledge-assistant
Dans le répertoire
google-chat-samples/node/ai-knowledge-assistant
, ajoutez le fichierclient_secrets.json
que vous avez téléchargé lors de la création des identifiants d'ID client OAuth pour l'authentification et l'autorisation.Modifiez le fichier
env.js
pour définir les variables d'environnement:- Définissez project sur la valeur de votre ID de projet Cloud.
- Définissez la valeur de location sur la région de la fonction Cloud, par exemple
us-central1
.
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 la région de la fonction Cloud pour correspondre à celle définie dans le fichier
env.js
, par exempleus-central1
.
Créer et déployer eventsApp
Console Google Cloud
Dans la console Google Cloud, accédez à Menu > Cloud Functions.
Assurez-vous que le projet Google Cloud de votre application Chat est sélectionné.
Cliquez sur
Créer une fonction.Sur la page Créer une fonction, configurez votre fonction:
- Dans Environnement, sélectionnez 2e génération.
- Dans le champ Nom de la fonction, saisissez
eventsApp
. - Dans Région, sélectionnez une région, par exemple
us-central1
. Cette région doit correspondre à celle que vous avez définie dans l'URI de redirection autorisé lors de la création d'identifiants d'ID client OAuth pour l'authentification et l'autorisation. - Dans Type de déclencheur, sélectionnez Cloud Pub/Sub.
- Dans Sujet Cloud Pub/Sub, sélectionnez le nom du sujet Pub/Sub que vous avez créé, au format
projects/PROJECT/topics/events-api
, où PROJECT correspond à l'ID de votre projet Cloud. - 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 accorder. - Cliquez sur Suivant.
Dans le champ Environnement d'exécution, sélectionnez Node.js 20.
Dans Point d'entrée, supprimez le texte par défaut et saisissez
eventsApp
.Dans Code source, sélectionnez Compresser depuis Cloud Storage.
Dans Emplacement Cloud Storage, cliquez sur Parcourir.
Sélectionnez le bucket dans lequel vous avez importé le fichier ZIP lors de la création de la fonction Cloud
app
.Cliquez sur le fichier ZIP que vous avez importé.
Cliquez sur Sélectionner.
Cliquez sur Deploy (Déployer).
La page Détails de Cloud Functions s'ouvre et votre fonction apparaît avec trois indicateurs de progression: un pour la compilation, un pour le service et un pour le déclencheur. Lorsque les trois indicateurs de progression disparaissent et sont remplacés par une coche, votre fonction est déployée et prête.
Modifiez l'exemple de code pour définir des constantes:
- Sur la page Détails de la fonction Cloud, cliquez sur Modifier.
- Cliquez sur Suivant.
- Dans Code source, sélectionnez Éditeur intégré.
- Dans l'éditeur intégré, ouvrez et modifiez le fichier
env.js
:- Définissez la valeur de project sur l'ID de votre projet Cloud.
- Définissez la valeur de location sur la région de la fonction Cloud, par exemple
us-central1
.
Cliquez sur Deploy (Déployer).
gcloud CLI
Dans la gcloud CLI, si ce n'est pas déjà fait, accédez au répertoire contenant le code de l'application Chat de l'assistant de connaissances sur l'IA que vous avez clonée au préalable depuis GitHub:
cd google-chat-samples/node/ai-knowledge-assistant
Dans le répertoire
google-chat-samples/node/ai-knowledge-assistant
, ajoutez le fichierclient_secrets.json
que vous avez téléchargé lors de la création des identifiants d'ID client OAuth pour l'authentification et l'autorisation.Modifiez le fichier
env.js
pour définir les variables d'environnement:- Définissez project sur la valeur de votre ID de projet Cloud.
- Définissez la valeur de location sur la région de la fonction Cloud, par exemple
us-central1
.
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 la région de la fonction Cloud pour correspondre à celle définie dans le fichier
env.js
, par exempleus-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
Dans la console Google Cloud, accédez à Menu > Cloud Functions.
Dans la colonne Nom de la liste des fonctions Cloud, cliquez sur
app
.Cliquez sur Déclencher.
Copiez l'URL.
gcloud CLI
Décrivez la fonction Cloud
app
:gcloud functions describe app
Copiez la propriété
url
.
Configurer l'application Chat dans la console Google Cloud
Cette section explique comment configurer l'API Chat dans la console Google Cloud avec des informations sur votre application Chat, y compris son nom et l'URL de déclenchement de la fonction Cloud de l'application Chat à laquelle elle envoie des événements d'interaction Chat.
Dans la console Google Cloud, cliquez sur Menu > Plus de produits > Google Workspace > Bibliothèque de produits > API Google Chat > Gérer > Configuration.
Dans le champ Nom de l'application, saisissez
AI knowledge assistant
.Dans URL de l'avatar, saisissez
https://fonts.gstatic.com/s/i/short-term/release/googlesymbols/live_help/default/24px.svg
.Dans le champ Description, saisissez
Answers questions with AI
.Activez l'option Activer les fonctionnalités interactives.
Sous Fonctionnalité, sélectionnez Rejoindre des espaces et des conversations de groupe.
Sous Paramètres de connexion, sélectionnez URL de l'application.
Dans URL de l'application, collez l'URL du déclencheur à partir de la fonction Cloud
app
au formathttps://
REGION-
PROJECT_ID.cloudfunctions.net/app
où REGION est la région de la fonction Cloud, commeus-central1
et PROJECT_ID l'ID du projet Cloud que vous avez créé.Sous Visibilité, sélectionnez Rendre cette application Chat accessible à des personnes et des groupes spécifiques de votre domaine Workspace, puis saisissez votre adresse e-mail.
Sous Journaux, vous pouvez éventuellement sélectionner Consigner les erreurs dans Logging.
Cliquez sur Enregistrer. Un message de configuration enregistrée s'affiche, indiquant que l'application Chat est prête à être testée.
Tester l'application Chat
Testez l'application Chat de l'assistant de connaissances sur l'IA dans un espace Chat avec des messages en posant des questions auxquelles l'application Chat de l'assistant de connaissances en IA peut répondre.
Voici quelques façons de tester l'assistant de connaissances sur l'IA dans Chat:
- Ajoutez l'application Chat de l'assistant de connaissances en IA à un espace Chat existant et posez des questions pertinentes pour cet espace.
- Créez un espace Chat et publiez quelques messages à utiliser comme source de données. Les messages peuvent provenir de Gemini avec une requête telle que
Answer 20 common onboarding questions employees ask their teams.
. Vous pouvez également coller quelques paragraphes du guide Développer avec Chat, puis poser des questions à ce sujet.
Pour ce tutoriel, nous allons créer un espace Chat et coller quelques paragraphes du guide de présentation du développement avec Chat.
Ouvrez Google Chat.
Pour créer un espace Chat:
Cliquez sur > Créer un espace.
New Chat (Nouveau chat)Dans Nom de l'espace, saisissez
Testing AI knowledge assistant app
.Sous À quoi sert cet espace ?, sélectionnez Collaboration.
Sous Paramètres d'accès, choisissez qui peut accéder à l'espace.
Cliquez sur Créer.
Ajoutez des messages à utiliser comme source de données:
Dans un navigateur Web, consultez le guide de présentation du développement avec Chat.
Copiez et collez le contenu du guide dans l'espace Chat que vous avez créé.
Ajoutez l'application Chat de l'assistant de connaissances sur l'IA:
Dans la barre de rédaction du message, saisissez
@AI knowledge assistant
. Dans le menu de suggestions qui s'affiche, sélectionnez l'application Chat de l'assistant de connaissances sur l'IA, puis appuyez surenter
.Un message s'affiche pour vous demander si vous souhaitez ajouter l'application Chat de l'assistant de connaissances sur l'IA à l'espace. Cliquez sur Ajouter à l'espace.
Si vous ajoutez l'application Chat à un espace pour la première fois, vous devez configurer l'authentification et l'autorisation pour l'application Chat:
- Cliquez sur Configurer.
- Une nouvelle fenêtre ou un nouvel onglet de navigateur s'ouvre pour vous demander de choisir un compte Google. Sélectionnez le compte avec lequel vous effectuez le test.
- Examinez les autorisations demandées par l'assistant de connaissances sur l'IA dans l'appli Chat. Pour les accorder, cliquez sur Autoriser.
- Le message
You may close this page now.
s'affiche. Fermez la fenêtre ou l'onglet du navigateur et revenez à l'espace Chat.
Poser une question :
Dans la barre de rédaction du message, saisissez une question du type
What are Google Chat apps?
.L'application Chat de l'assistant de connaissances sur l'IA répond.
Si la réponse n'est pas exacte ou n'est pas suffisante, cliquez sur
Obtenir de l'aide pour améliorer l'historique des conversations de l'IA. L'appli Chat de l'assistant de connaissances sur l'IA mentionne un gestionnaire d'espace La prochaine fois, l'application Chat de l'assistant de connaissances sur l'IA saura la réponse !
Éléments à prendre en compte, choix d'architecture alternative et prochaines étapes
Cette section passe en revue d'autres façons de créer l'application Chat de l'assistant de connaissances sur l'IA.
Firestore, Cloud Storage, ou appeler List Messages dans l'API Chat
Ce tutoriel recommande de stocker les données des espaces Chat, telles que les messages, dans une base de données Firestore, car cela améliore les performances par rapport à l'appel de la méthode list
sur la ressource Message
avec l'API Chat chaque fois que l'application Chat répond à une question. De plus, l'appel répété de list messages
peut entraîner un dépassement des limites de quota de l'API par l'application Chat.
Toutefois, si l'historique de conversation d'un espace Chat devient trop long, l'utilisation de Firestore peut s'avérer coûteuse.
Cloud Storage est une alternative à Firestore. Chaque espace dans lequel l'application Chat de l'assistant de connaissances par IA est active possède son propre objet, et chaque objet est un fichier texte contenant tous les messages de l'espace. L'avantage de cette approche est que tout le contenu du fichier texte peut être transmis simultanément à Vertex AI avec Gemini. Toutefois, la mise à jour de l'historique de la conversation prend plus de travail, car vous ne pouvez pas l'ajouter à un objet dans Cloud Storage. Vous ne pouvez que le remplacer. Cette approche n'est pas judicieuse si vous mettez régulièrement à jour l'historique des messages. Toutefois, il serait judicieux de mettre à jour l'historique des messages de manière groupée de manière périodique (une fois par semaine, par exemple).
Résoudre les problèmes
Lorsqu'une application ou une fiche Google Chat renvoie une erreur, l'interface Chat affiche un message indiquant "Un problème est survenu" ou "Impossible de traiter votre demande". Il peut arriver que l'interface Chat n'affiche aucun message d'erreur, mais que l'application ou la fiche Chat génère un résultat inattendu. Par exemple, il est possible qu'un message de fiche ne s'affiche pas.
Bien qu'aucun message d'erreur ne s'affiche dans l'interface Chat, des messages d'erreur descriptifs et des données de journal sont disponibles pour vous aider à corriger les erreurs lorsque la journalisation des erreurs est activée pour les applications Chat. Si vous avez besoin d'aide pour afficher, déboguer et corriger les erreurs, consultez Résoudre les erreurs Google Chat.
Effectuer un nettoyage
Pour éviter que les ressources utilisées dans ce tutoriel soient facturées sur votre compte Google Cloud, nous vous recommandons de supprimer le projet Cloud.
- Dans la console Google Cloud, accédez à la page Gérer les ressources. Cliquez sur Menu > IAM et administration > Gérer les ressources.
- Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer .
- Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.
Articles associés
- Gérer des projets avec Google Chat, Vertex AI et Firestore
- Gérer les incidents à l'aide de Google Chat, Vertex AI et Apps Script