Questo tutorial mostra come creare un'app Google Chat che risponda domande basate sulle conversazioni negli spazi di Chat con modelli basata su Vertex AI con Gemini. L'app Chat utilizza l'API Google Workspace Events più Pub/Sub per riconoscere e rispondere alle domande pubblicati negli spazi di Chat in tempo reale, anche non viene menzionato.
L'app Chat utilizza tutti i messaggi inviati nello spazio come un'origine dati e una knowledge base: quando qualcuno pone una domanda, L'app Chat controlla le risposte condivise in precedenza e poi ne condivide uno. Se non trova risposta, significa che non può rispondere. A ogni risposta, gli utenti possono fare clic su un pulsante di azione accessorio per @menzionare un gestore dello spazio e chiedere per ricevere una risposta. Utilizzando Gemini AI, l'app Google Chat si adatta cresce la sua base di conoscenze mentre si allena continuamente sulle conversazioni negli spazi a cui viene aggiunto.
Ecco come funziona l'app Chat nell'onboarding dei dipendenti e assistenza:
-
Figura 1. Carlo aggiunge l'app Chat di Chat dell'assistente alla conoscenza IA a uno spazio di Chat. -
Figura 2. Dana chiede se l'azienda offre corsi di formazione sul discorso pubblico. -
Figura 3. L'app Chat di assistente alla conoscenza IA chiede a Vertex AI con Gemini di rispondere alla domanda di Dana in base alla cronologia della conversazione dello spazio di Chat e poi condivide la risposta.
Prerequisiti
Un'azienda o un'impresa Google Workspace con accesso a Google Chat.
Accedi ai servizi Google Cloud per:
- Creare un progetto Google Cloud.
- Collega un account di fatturazione Google Cloud al progetto Cloud. A per scoprire se hai accesso, Autorizzazioni necessarie per attivare la fatturazione.
- Utilizzare chiamate di funzione Google Cloud Functions non autenticate, che puoi verificare determinando se le tue risorse Google Cloud l'organizzazione utilizza la condivisione limitata al dominio.
Se necessario, chiedi all'amministratore di Google Cloud l'accesso o autorizzazione.
Se utilizzi Google Cloud CLI, viene eseguito il deployment di un file Node.js di sviluppo configurato per funzionare con gcloud CLI. Consulta Impostazione di uno sviluppo Node.js dell'ambiente di rete.
Obiettivi
- Crea un'app di Chat che utilizzi l'IA generativa per: rispondere a domande in base alle conoscenze condivise nello spazio di Chat conversazioni.
- Con l'IA generativa:
- Rileva e rispondi alle domande dei dipendenti.
- Impara continuamente dalle conversazioni in corso in una chat spazio.
- Ascolta e rispondi ai messaggi in uno spazio di Chat in tempo reale anche quando l'app Chat non è collegata direttamente ha inviato un messaggio.
- Rendi persistenti i messaggi scrivendo e leggendo da un database Firestore.
- Agevola la collaborazione in uno spazio di Chat menzionando lo spazio quando non viene trovata la risposta a una domanda.
Architettura
Il seguente diagramma mostra l'architettura di Google Workspace e Risorse Google Cloud utilizzate dall'assistente alla conoscenza IA Chat.
L'app Chat dell'assistente alla conoscenza IA funziona in questo modo:
Un utente aggiunge l'app Chat dell'assistente alle conoscenze IA in uno spazio di Chat:
L'app Chat richiede l'utente che l'ha aggiunto allo spazio di Chat per eseguire la configurazione l'autenticazione e l'autorizzazione.
L'app Chat recupera i messaggi dello spazio tramite chiamando il metodo
spaces.messages.list
nell'API Chat e quindi archivia i messaggi recuperati in un database Firestore.L'app Chat chiama
subscriptions.create
nell'API Google Workspace Events per iniziare ad ascoltare eventi come i messaggi nello spazio. La l'endpoint di notifica della sottoscrizione è un argomento Pub/Sub che utilizza Eventarc per inoltrare l'evento all'app Chat.L'app Chat pubblica un messaggio introduttivo per nello spazio.
Un utente nello spazio di Chat pubblica un messaggio:
L'app Chat riceve il messaggio in tempo reale dall'argomento Pub/Sub.
L'app Chat aggiunge il messaggio a Firestore per configurare un database.
Se in seguito un utente modifica o elimina il messaggio, L'app di chat riceve l'evento aggiornato o eliminato in tempo reale, dopodiché aggiorna o elimina il messaggio in Firestore per configurare un database.
L'app Chat invia il messaggio a Vertex AI con Gemini:
Il prompt indica a Vertex AI con Gemini di verificare se il messaggio include una domanda. In caso affermativo, Gemini risponde alla domanda sulla cronologia dei messaggi dello spazio di Chat conservata in Firestore e l'app Google Chat invia il messaggio al Spazio di Chat. In caso contrario, non rispondere.
Se Vertex AI con Gemini risponde alla domanda, L'app Chat pubblica richiamando il metodo
spaces.messages.create
API Chat con l'autenticazione delle app.Se Vertex AI con Gemini non è in grado di rispondere alla domanda, L'app Chat pubblica un messaggio che indica che non riesce a trovare una risposta alla domanda nel della cronologia dello spazio di Chat.
I messaggi includono sempre un pulsante di azione accessorio che gli utenti possono che fa sì che l'app Chat @Menziona un gestore dello spazio chiedendogli di rispondere.
L'app Chat riceve una notifica relativa al ciclo di vita l'API Google Workspace Events dell'abbonamento allo spazio di Chat sta per scadere:
- L'app Chat invia una richiesta per rinnovare
di abbonamento chiamando il metodo
subscriptions.patch
nella API Google Workspace Events.
- L'app Chat invia una richiesta per rinnovare
di abbonamento chiamando il metodo
L'app Chat viene rimossa da una chat spazio:
L'app Chat elimina l'abbonamento tramite chiamando il metodo
subscriptions.delete
API Google Workspace Events.L'app Chat elimina la chat dello spazio di archiviazione da Firestore.
Esamina i prodotti utilizzati dall'app Chat dell'assistente alle conoscenze IA
L'app Chat dell'assistente informativo IA utilizza seguenti prodotti Google Workspace e Google Cloud:
- API Vertex AI con Gemini: una piattaforma di IA generativa basata su Gemini. L'assistente alla conoscenza dell'IA L'app di chat utilizza l'API Vertex AI con Gemini per riconoscere, comprendere e rispondere alle domande dei dipendenti.
-
API Chat:
Un'API per lo sviluppo di app Google Chat che ricevono e rispondono a
Eventi di interazione via chat, come i messaggi. L'IA
l'app Chat dell'assistente informativo utilizza l'API Chat per:
- Ricevi e rispondi agli eventi di interazione inviati da Chat.
- Elenca i messaggi inviati in uno spazio.
- Pubblicare risposte alle domande degli utenti in uno spazio.
- Configura gli attributi che determinano come viene visualizzato in Chat, ad esempio nome e immagine dell'avatar.
- API Google Workspace Events: Questa API ti consente di iscriverti agli eventi e gestire modificare le notifiche nelle applicazioni Google Workspace. La L'app Chat dell'assistente informativo IA utilizza l'API Google Workspace Events per ascoltare i messaggi pubblicati in un spazio di Chat in modo che possa rilevare e rispondere alle domande anche quando non viene menzionato.
- Firestore: Un database di documenti serverless. L'assistente alla conoscenza dell'IA L'app di chat utilizza Firestore per archiviare i dati relativi ai messaggi inviati in uno spazio di Chat.
- Pub/Sub Pub/Sub è un servizio di messaggistica asincrono e scalabile che disaccoppia che producono messaggi da servizi che li elaborano. La L'app Chat di assistente alla conoscenza IA utilizza Pub/Sub per ricevere eventi di abbonamento dagli spazi di Chat.
- Eventarc: Eventarc consente di creare architetture basate su eventi senza dover implementare, personalizzare o mantenere l'infrastruttura sottostante. L'IA l'app Chat di Assistente alla conoscenza utilizza Eventarc per indirizzare gli eventi da Pub/Sub a uno spazio di Chat la funzione Cloud Functions che riceve ed elabora gli eventi di abbonamento.
-
Cloud Functions:
Un servizio di serverless computing leggero che ti consente di creare
funzioni autonome monouso in grado di rispondere a Chat
eventi di interazione e sottoscrizione senza la necessità di gestire un server o un runtime
completamente gestito di Google Cloud. L'app Chat dell'assistente alle conoscenze IA
usa due funzioni Cloud Functions denominate:
-
app
: ospita l'endpoint HTTP inviato da Chat di interazione con e come piattaforma di computing per eseguire logica processi e risponde a questi eventi. -
eventsApp
: riceve ed elabora lo spazio di Chat come i messaggi di una sottoscrizione Pub/Sub.
- Cloud Build: Una piattaforma di integrazione continua, distribuzione e deployment completamente gestita che esegue build automatizzate.
- Cloud Run: Un ambiente completamente gestito per l'esecuzione di app containerizzate.
-
prepara l'ambiente
Questa sezione mostra come creare e configurare un progetto Google Cloud Chat.
Creare un progetto Google Cloud
Console Google Cloud
- Nella console Google Cloud, vai al Menu > IAM e Amministratore > Crea un progetto.
-
Nel campo Nome progetto, inserisci un nome descrittivo per il progetto.
(Facoltativo) Per modificare l'ID progetto, fai clic su Modifica. L'ID progetto non può essere modificato creato dopo la creazione del progetto, quindi scegli un ID che soddisfi le tue esigenze per tutta la durata progetto.
- Nel campo Località, fai clic su Sfoglia per visualizzare le località potenziali per il tuo progetto. Poi, fai clic su Seleziona.
- Fai clic su Crea. La console Google Cloud accede alla pagina Dashboard e il progetto viene creato entro pochi minuti.
Interfaccia a riga di comando gcloud
In uno dei seguenti ambienti di sviluppo, accedi a Google Cloud Interfaccia a riga di comando ("gcloud"):
-
Cloud Shell: per utilizzare un terminale online con gcloud CLI
è già configurato, attiva Cloud Shell.
Attivare Cloud Shell -
Shell locale: per utilizzare un ambiente di sviluppo locale,
install e
inizializzare
con gcloud CLI.
Per creare un progetto Cloud, utilizza il comando "gcloud projects create":gcloud projects create PROJECT_ID
Abilita la fatturazione per il progetto Cloud
Console Google Cloud
- Nella console Google Cloud, vai a Fatturazione. Clic Menu > Fatturazione > I miei progetti.
- In Seleziona un'organizzazione, scegli l'organizzazione associata del tuo progetto Google Cloud.
- Nella riga del progetto, apri il menu Azioni ( ), fai clic su Modifica fatturazione e scegli di account di fatturazione Cloud.
- Fai clic su Imposta account.
Interfaccia a riga di comando gcloud
- Per elencare gli account di fatturazione disponibili, esegui:
gcloud billing accounts list
- Collega un account di fatturazione a un progetto Google Cloud:
gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID
Sostituisci quanto segue:
PROJECT_ID
è l'ID progetto per Progetto cloud per il quale vuoi abilitare la fatturazione.BILLING_ACCOUNT_ID
è l'ID account di fatturazione da collegare a a livello di progetto Google Cloud.
Abilita le API
Console Google Cloud
Nella console Google Cloud, abilita 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 e l'API Cloud Run Admin.
Assicurati di abilitare le API nel modo corretto progetto Cloud e fai clic su Avanti.
Verifica di abilitare le API corrette, quindi fai clic su Abilita.
Interfaccia a riga di comando gcloud
Se necessario, imposta il progetto Cloud attuale su quello in cui creato:
gcloud config set project PROJECT_ID
Sostituisci PROJECT_ID con l'ID progetto del il progetto cloud che hai creato.
abilitare 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 e l'amministratore 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
Configura autenticazione e autorizzazione
Autenticazione e autorizzazione consentono alle risorse per l'accesso alle app di chat in Google Workspace e in Google Cloud.
In questo tutorial pubblicherai l'app Google Chat internamente, Puoi usare le informazioni segnaposto. Prima di pubblicare il Esternamente all'app Google Chat, sostituisci le informazioni segnaposto con informazioni reali per la schermata di consenso.
Configura la schermata per il consenso OAuth, specifica gli ambiti e registra la tua app
Nella console Google Cloud, vai a Menu > API e Servizi > Schermata consenso OAuth.
In Tipo di utente, seleziona Interno, quindi fai clic su Crea.
In Nome app, digita
AI knowledge assistant
.In Email per l'assistenza utenti, seleziona il tuo indirizzo email o un indirizzo gruppo Google.
In Dati di contatto dello sviluppatore, inserisci il tuo indirizzo email.
Fai clic su Salva e continua.
Fai clic su Aggiungi o rimuovi ambiti. Viene visualizzato un riquadro con un elenco di ambiti per ogni API abilitata nel tuo progetto Cloud.
In Aggiungi ambiti manualmente, incolla il seguente ambito:
https://www.googleapis.com/auth/chat.messages
Fai clic su Aggiungi alla tabella.
Fai clic su Aggiorna.
Fai clic su Salva e continua.
Esamina il riepilogo della registrazione dell'app e fai clic su Torna alla dashboard.
Crea credenziali con ID client OAuth
Nella console Google Cloud, vai a Menu > API e Servizi > Credenziali.
Fai clic su Crea credenziali. > ID client OAuth.
Fai clic su Tipo di applicazione. > Applicazione web.
Nel campo Nome, digita un nome per la credenziale. Questo nome è mostrato nella console Google Cloud.
In URI di reindirizzamento autorizzati, fai clic su Aggiungi URI.
In URI 1, digita quanto segue:
https://REGION-PROJECT_ID.cloudfunctions.net/app/oauth2
Sostituisci quanto segue:
- REGION: la regione della funzione Cloud Functions, ad esempio
us-central1
. In seguito, quando crei le due funzioni Cloud Functions, devi impostarne regione a questo valore. - PROJECT_ID: l'ID del progetto Cloud che hai creato.
- REGION: la regione della funzione Cloud Functions, ad esempio
Fai clic su Crea.
Nella finestra Client OAuth creato, fai clic su Scarica JSON.
Salva il file scaricato come
client_secrets.json
. In seguito, quando crei le due funzioni Cloud Functions, includi il fileclient_secrets.json
e deployment continuo.Fai clic su OK.
crea l'argomento Pub/Sub
L'argomento Pub/Sub funziona con API Google Workspace Events per abbonarsi agli eventi di una chat come i messaggi e inviare una notifica all'app Chat nel tempo.
Ecco come creare l'argomento Pub/Sub:
Console Google Cloud
Nella console Google Cloud, vai a Menu > Pub/Sub.
Fai clic su Crea argomento.
In ID argomento, digita
events-api
.Deseleziona Aggiungi un abbonamento predefinito.
In Crittografia, seleziona Chiave di crittografia gestita da Google.
Fai clic su Crea. Viene visualizzato l'argomento Pub/Sub.
Per il funzionamento di questo argomento Pub/Sub e dell'API Google Workspace Events insieme, concedi all'utente IAM di Chat l'autorizzazione a pubblicare nell'argomento Pub/Sub:
Nel riquadro events-api, in PERMISSIONS, fai clic su Aggiungi entità.
In Aggiungi entità, in Nuove entità, digita
chat-api-push@system.gserviceaccount.com
.In Assegna ruoli, in Seleziona un ruolo, seleziona Pub/Sub > Publisher Pub/Sub.
Fai clic su Salva.
Interfaccia a riga di comando gcloud
Crea un argomento Pub/Sub con ID argomento
events-api
:gcloud pubsub topics create events-api
Concedi all'utente IAM di Chat l'autorizzazione per pubblicare contenuti su nell'argomento Pub/Sub:
gcloud pubsub topics add-iam-policy-binding events-api \ --member='serviceAccount:chat-api-push@system.gserviceaccount.com' \ --role='roles/pubsub.publisher'
Crea il database Firestore
Il database Firestore persiste e recupera
provenienti dagli spazi di Chat, come i messaggi. Non definisci i dati
predefinito, che viene impostato implicitamente nel codice di esempio dai model/message.js
e
services/firestore-service.js
file.
Il database dell'app Chat dell'assistente alla conoscenza IA utilizza un un modello dei dati NoSQL basato su Modello dei dati Firestore.
documenti organizzati in collections. Per saperne di più, vediIl seguente diagramma è una panoramica dell'assistente della conoscenza IA Modello dei dati dell'app di Chat:
La radice contiene due raccolte:
spaces
, dove ogni documento rappresenta uno spazio di Chat che a cui viene aggiunta l'app Chat. Ogni messaggio è rappresentato rappresentato da un documento nella sottoraccoltamessages
.users
, dove ogni documento rappresenta un utente che ha aggiunto il Chat in uno spazio di Chat.
Visualizzare le definizioni di raccolte, documenti e campi
spaces
Uno spazio di Chat che include l'app Chat dell'assistente alla conoscenza IA.
Campi | |
---|---|
Document ID | String ID univoco di uno spazio specifico. Una parte del nome della risorsa dello spazio nell'API Chat. |
messages | Subcollection of Documents ( Messaggi inviati nello spazio di Chat. Corrisponde a Document ID di un message in Firebase. |
spaceName | String Il nome univoco dello spazio nell'API Chat. Corrisponde al nome della risorsa dello spazio nell'API Chat. |
messages
Messaggi inviati nello spazio di Chat.
Campi | |
---|---|
Document ID | String ID univoco di un messaggio specifico. |
name | String Il nome univoco di un messaggio nell'API Chat. Corrisponde al nome della risorsa del messaggio nell'API Chat. |
text | String Il corpo del testo del messaggio. |
time | String (Timestamp format) L'ora in cui è stato creato il messaggio. |
users
Utenti che hanno aggiunto l'app Chat dell'assistente alle conoscenze IA a uno spazio di Chat.
Campi | |
---|---|
Document ID | String ID univoco di un utente specifico. |
accessToken | String Il token di accesso concesso durante l'autorizzazione utente OAuth 2.0 utilizzato per chiamare le API Google Workspace. |
refreshToken | String Il token di aggiornamento concesso durante l'autorizzazione utente OAuth 2.0. |
Ecco come creare il database Firestore:
Console Google Cloud
Nella console Google Cloud, vai a Menu > Firestore.
Fai clic su Crea database.
In Seleziona la modalità Firestore, fai clic su Modalità Native.
Fai clic su Continua.
Configura il database:
In Assegna un nome al database, lascia l'impostazione ID database su
(default)
.In Tipo di località, seleziona Regione.
In Regione, specifica una regione per il database, ad esempio
us-central1
. Per prestazioni ottimali, seleziona lo stesso valore o nelle vicinanze posizione come Cloud Functions dell'app di chat.
Fai clic su Crea database.
Interfaccia a riga di comando gcloud
Crea un database Firestore in modalità Native:
gcloud firestore databases create \ --location=LOCATION \ --type=firestore-native
Sostituisci LOCATION con il nome di un Firestore regione, come
us-central1
. Per prestazioni ottimali, seleziona lo stesso valore o nelle vicinanze posizione come Cloud Functions dell'app di chat.
Creare e implementare l'app Chat
Ora che il progetto Google Cloud è stato creato e configurato, puoi iniziare a creare ed eseguire il deployment dell'app Chat. In questa sezione, seguenti:
- Creare ed eseguire il deployment di due funzioni Cloud Functions. Uno per rispondere a Chat eventi di interazione e uno per rispondere agli eventi Pub/Sub.
- Creare e implementare un'app di Chat sull'API Google Chat di configurazione del deployment.
Crea ed esegui il deployment delle funzioni Cloud Functions
In questa sezione creerai ed eseguirai il deployment di due funzioni Cloud Functions denominate:
app
: organizza ed esegue l'app Chat codice che risponde agli eventi ricevuti da Chat come HTTP richieste.eventsApp
: riceve ed elabora lo spazio di Chat come i messaggi di Pub/Sub.
Insieme, queste funzioni Cloud Functions costituiscono l'assistente della conoscenza IA Logica dell'applicazione dell'app di Chat.
Facoltativamente, prima di creare le funzioni Cloud Functions, dedica un momento alla revisione e acquisire familiarità con il codice campione ospitato su GitHub.
Crea ed esegui il deployment di app
Console Google Cloud
Scarica il codice da GitHub come file ZIP.
Estrai il file ZIP scaricato.
La cartella estratta contiene tutti gli esempi di Google Workspace repository Git.
Nella cartella estratta, passa al Directory
google-chat-samples-main/node/ai-knowledge-assistant
.Nella directory
google-chat-samples/node/ai-knowledge-assistant
, aggiungi il fileclient_secrets.json
che hai scaricato quando hai credenziali ID client OAuth create per l'autenticazione e l'autorizzazione.Comprimi i contenuti della cartella
ai-knowledge-assistant
in un file ZIP .La directory radice del file ZIP deve contenere quanto segue file e cartelle:
.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/
Nella console Google Cloud, vai a Menu > Cloud Functions.
Assicurati che il progetto Google Cloud L'app di chat è selezionata.
Fai clic su
Crea funzione.Nella pagina Crea funzione, configura la funzione:
- In Ambiente, seleziona 2a generazione.
- In Nome funzione, digita
app
. - In Regione, seleziona una regione, ad esempio
us-central1
. Questa regione deve corrispondere alla regione impostata nell'URI di reindirizzamento autorizzato quando tu creato le credenziali con ID client OAuth per l'autenticazione e l'autorizzazione. - In Tipo di trigger, seleziona HTTPS.
- In Autenticazione, seleziona Consenti chiamate non autenticate.
- Fai clic su Avanti.
In Runtime, seleziona Node.js 20.
In Punto di ingresso, elimina il testo predefinito e inserisci
app
.In Codice sorgente, seleziona Caricamento zip.
In Bucket di destinazione, crea oppure seleziona un bucket:
- Fai clic su Sfoglia.
- Scegli un bucket.
- Fai clic su Seleziona.
Google Cloud carica il file ZIP ed estrae i file dei componenti in questo bucket. Cloud Functions copia quindi i file dei componenti la funzione Cloud Functions.
In File ZIP, carica il file ZIP che hai scaricato da GitHub, estratti e ricompressi:
- Fai clic su Sfoglia.
- Vai al file ZIP e selezionalo.
- Fai clic su Apri.
Fai clic su Esegui il deployment.
Viene visualizzata la pagina Dettagli Cloud Functions e la funzione viene visualizzata con due indicatori di avanzamento: uno per la build e uno per il servizio. Quando entrambi gli indicatori di avanzamento scompaiono e vengono sostituiti da un segno di spunta il deployment della funzione è stato eseguito ed è pronta.
Modifica il codice campione per impostare le costanti:
- Nella pagina Dettagli della funzione Cloud Functions, fai clic su Modifica.
- Fai clic su Avanti.
- In Codice sorgente, seleziona Editor incorporato.
- Nell'editor in linea, apri e modifica il file
env.js
:- Imposta il valore di project su dell'ID progetto Cloud.
- Imposta il valore di location sul valore della funzione Cloud Functions
region,
come
us-central1
.
Fai clic su Esegui il deployment.
Interfaccia a riga di comando gcloud
Clona il codice da GitHub:
git clone https://github.com/googleworkspace/google-chat-samples.git
Passa alla directory che contiene il codice per queste conoscenze sull'IA app dell'assistente per Chat:
cd google-chat-samples/node/ai-knowledge-assistant
Nella directory
google-chat-samples/node/ai-knowledge-assistant
, aggiungi il fileclient_secrets.json
che hai scaricato quando hai credenziali ID client OAuth create per l'autenticazione e l'autorizzazione.Modifica il file
env.js
per impostare le variabili di ambiente:- Imposta il valore di project sul tuo progetto cloud ID.
- Imposta il valore di location sul valore della funzione Cloud Functions
region, ad esempio
us-central1
.
Esegui il deployment della funzione Cloud Functions in Google Cloud:
gcloud functions deploy app \ --gen2 \ --region=REGION \ --runtime=nodejs20 \ --source=. \ --entry-point=app \ --trigger-http \ --allow-unauthenticated
Sostituisci REGION con il valore della funzione Cloud Functions regione in base a quella impostata nel file
env.js
, ad esempious-central1
.
Crea ed esegui il deployment di eventsApp
Console Google Cloud
Nella console Google Cloud, vai a Menu > Cloud Functions.
Assicurati che il progetto Google Cloud L'app di chat è selezionata.
Fai clic su
Crea funzione.Nella pagina Crea funzione, configura la funzione:
- In Ambiente, seleziona 2a generazione.
- In Nome funzione, digita
eventsApp
. - In Regione, seleziona una regione, ad esempio
us-central1
. Questa regione deve corrispondere alla regione impostata nell'URI di reindirizzamento autorizzato quando tu creato le credenziali con ID client OAuth per l'autenticazione e l'autorizzazione. - In Tipo di trigger, seleziona Cloud Pub/Sub.
- In Argomento Cloud Pub/Sub, seleziona il nome dell'argomento Pub/Sub che
che ha il formato
projects/PROJECT/topics/events-api
dove PROJECT è l'ID del tuo progetto Cloud. - Se viene visualizzato un messaggio che inizia con
Service account(s) might not have enough permissions to deploy the function with the selected trigger.
, fai clic su Concedi tutte. - Fai clic su Avanti.
In Runtime, seleziona Node.js 20.
In Punto di ingresso, elimina il testo predefinito e inserisci
eventsApp
.In Codice sorgente, seleziona Zip da Cloud Storage.
In Percorso di Cloud Storage, fai clic su Sfoglia.
Seleziona il bucket in cui hai caricato il file ZIP quando hai creato
app
funzione Cloud Functions.Fai clic sul file ZIP che hai caricato.
Fai clic su Seleziona.
Fai clic su Esegui il deployment.
Viene visualizzata la pagina Dettagli Cloud Functions e la funzione viene visualizzata con tre indicatori di avanzamento: uno per la creazione, uno per il servizio, e una per il trigger. Quando scompaiono tutti e tre gli indicatori di avanzamento e vengono sostituite con un segno di spunta. Il deployment della funzione è stato eseguito ed è pronta.
Modifica il codice campione per impostare le costanti:
- Nella pagina Dettagli della funzione Cloud Functions, fai clic su Modifica.
- Fai clic su Avanti.
- In Codice sorgente, seleziona Editor incorporato.
- Nell'editor in linea, apri e modifica il file
env.js
:- Imposta il valore di project su dell'ID progetto Cloud.
- Imposta il valore di location sul valore della funzione Cloud Functions
region,
come
us-central1
.
Fai clic su Esegui il deployment.
Interfaccia a riga di comando gcloud
In gcloud CLI, se non sei già lì, passa alla directory che contiene il codice per queste conoscenze sull'IA dall'app di chat dell'assistente, clonati da GitHub:
cd google-chat-samples/node/ai-knowledge-assistant
Nella directory
google-chat-samples/node/ai-knowledge-assistant
, aggiungi il fileclient_secrets.json
che hai scaricato quando hai credenziali ID client OAuth create per l'autenticazione e l'autorizzazione.Modifica il file
env.js
per impostare le variabili di ambiente:- Imposta il valore di project sul tuo progetto cloud ID.
- Imposta il valore di location sul valore della funzione Cloud Functions
region, ad esempio
us-central1
.
Esegui il deployment della funzione Cloud Functions in Google Cloud:
gcloud functions deploy eventsApp \ --gen2 \ --region=REGION \ --runtime=nodejs20 \ --source=. \ --entry-point=eventsApp \ --trigger-topic=events-api
Sostituisci REGION con il valore della funzione Cloud Functions regione in base a quella impostata nel file
env.js
, ad esempious-central1
.
Copia l'URL trigger della funzione Cloud Functions app
Incolla l'URL trigger della funzione Cloud Functions app
nella sezione successiva
quando
Configura l'app Chat nella console Google Cloud.
Console Google Cloud
Nella console Google Cloud, vai a Menu > Cloud Functions.
Nella colonna Nome dell'elenco di Cloud Functions, fai clic su
app
Fai clic su Attiva.
Copia l'URL.
Interfaccia a riga di comando gcloud
Descrivere la funzione Cloud Functions
app
:gcloud functions describe app
Copia la proprietà
url
.
Configurare l'app Chat nella console Google Cloud
Questa sezione mostra come configurare l'API Chat in console Google Cloud con informazioni sulla tua app Chat, incluso il nome dell'app di Chat e l'URL trigger del cloud dell'app di chat Funzione a cui invia eventi di interazione con Chat.
Nella console Google Cloud, fai clic su Menu. > Altri prodotti > Google Workspace > Libreria prodotti > API Google Chat > Gestisci > Configurazione.
In Nome app, digita
AI knowledge assistant
.In URL avatar, digita
https://fonts.gstatic.com/s/i/short-term/release/googlesymbols/live_help/default/24px.svg
.In Descrizione, digita
Answers questions with AI
.Fai clic sul pulsante di attivazione/disattivazione Abilita le funzionalità interattive per attivare le funzionalità.
In Funzionalità, seleziona Partecipa a spazi e conversazioni di gruppo.
In Impostazioni di connessione, seleziona URL app.
In App URL (URL app), incolla l'URL trigger dalla funzione Cloud Functions
app
formattato comehttps://
REGION-
PROJECT_ID.cloudfunctions.net/app
dove REGION è la regione della funzione Cloud Functions, ad esempious-central1
e PROJECT_ID è l'ID progetto del il progetto cloud che hai creato.In Visibilità, seleziona Rendi disponibile questa app di Chat a persone e gruppi specifici nel tuo Workspace e inserisci il tuo indirizzo email.
Facoltativamente, in Log, seleziona Log errori in Logging.
Fai clic su Salva. Viene visualizzato un messaggio di configurazione salvata, il che significa L'app Chat è pronto per il test.
Testare l'app Chat
Testa l'app Chat dell'assistente della conoscenza IA in un Spazio di Chat con messaggi ponendo domande a cui l'IA l'app Chat di Google Cloud è in grado di rispondere alle domande.
Ecco alcuni modi per testare l'assistente informativo IA App Chat:
- Aggiungi l'app Chat dell'assistente alle conoscenze IA a un spazio di Chat esistente e fare domande pertinenti in quello spazio.
- Crea uno spazio di Chat e pubblica alcuni messaggi da utilizzare come
un'origine dati. I messaggi possono provenire da
Gemini con un prompt come
Answer 20 common onboarding questions employees ask their teams.
oppure puoi incollare alcuni paragrafi Guida alla panoramica sullo sviluppo con Chat e poi fare domande al riguardo.
Per questo tutorial, creiamo uno spazio di Chat e incolliamo paragrafi da sviluppo con la panoramica di Chat.
Apri Google Chat.
Creare uno spazio di Chat:
Fai clic su > Crea uno spazio.
Nuova chat.In Nome spazio, digita
Testing AI knowledge assistant app
.In A cosa serve questo spazio?, seleziona Collaborazione.
In Impostazioni di accesso, scegli chi può accedere allo spazio.
Fai clic su Crea.
Aggiungi messaggi da utilizzare come origine dati:
In un browser web, visita la sviluppare con la panoramica di Chat guida.
Copia e incolla i contenuti della guida nello spazio di Chat che hai creato.
Aggiungi l'app Chat dell'assistente alle conoscenze IA:
Nella barra di scrittura del messaggio, digita
@AI knowledge assistant
e menu dei suggerimenti visualizzato, seleziona l'assistente alle conoscenze IA Chat e premienter
.Viene visualizzato un messaggio che ti chiede se vuoi aggiungere l'assistente informativo IA Chat nello spazio. Fai clic su Aggiungi allo spazio.
Se è la prima volta che aggiungi l'app Chat a uno spazio, devi configurare l'autenticazione e l'autorizzazione per App Chat:
- Fai clic su Configura.
- Si apre una nuova finestra o scheda del browser in cui viene chiesto di scegliere un Account Google Scegli l'account con cui stai eseguendo il test.
- Rivedi le autorizzazioni concesse per l'assistente alla conoscenza IA Richieste da app di chat. Per concederli, fai clic su Consenti.
- Viene visualizzato il messaggio
You may close this page now.
. Chiudi la finestra o la scheda del browser e torna alla Spazio di Chat.
Fai una domanda:
Nella barra di scrittura dei messaggi, digita una domanda come
What are Google Chat apps?
L'app Chat dell'assistente alle conoscenze IA risponde alle tue domande.
Facoltativamente, se la risposta non è precisa o sufficiente, per aiutare l'IA migliora la cronologia delle conversazioni, fai clic
Richiedi assistenza. L'app Chat dell'assistente informativo IA menziona un gestore dello spazio e chiede loro di rispondere alla domanda. La prossima volta, L'app Chat dell'assistente informativo IA sarà consapevole la risposta!
Considerazioni, scelte di architettura alternativa e passaggi successivi
Questa sezione illustra altri modi in cui l'assistente alla conoscenza dell'IA l'app di chat può essere creata.
Firestore, Cloud Storage o chiamate List Messages nell'API Chat
Questo tutorial consiglia di archiviare i dati dello spazio di Chat, ad esempio
messaggi in un database Firestore perché migliora le prestazioni rispetto
con la chiamata del metodo list
su Message
con l'API Chat ogni volta che
L'app Chat risponde a una domanda. Inoltre, la chiamata
list messages
può causare ripetutamente
per raggiungere i limiti di quota dell'API.
Tuttavia, se la cronologia delle conversazioni di uno spazio di Chat troppo tempo, l'utilizzo di Firestore può diventare costoso.
Spazio di archiviazione sul cloud . è un'alternativa a Firestore. In ogni ambito dell'Assistente della conoscenza IA L'app di chat è attiva in riceve il proprio oggetto, ognuno dei quali è un file di testo contenente tutti i messaggi nello spazio. Il vantaggio di questo approccio è che l'intero contenuto del file di testo può essere inviato a Vertex l'AI con Gemini, ma lo svantaggio è che richiede più lavoro aggiorna la cronologia delle conversazioni perché non puoi aggiungere elementi a un oggetto in Cloud spazio di archiviazione, deve solo sostituirlo. Questo approccio non ha senso se regolarmente aggiornare la cronologia dei messaggi, ma sarebbe una buona scelta la cronologia dei messaggi periodicamente, ad esempio una volta alla settimana.
Risoluzione dei problemi
Quando un'app Google Chat o card restituisce un errore, L'interfaccia di Chat mostra il messaggio "Si è verificato un problema". o "Impossibile elaborare la richiesta". A volte, l'UI di Chat non mostra alcun messaggio di errore, ma l'app Chat o la scheda restituisce un risultato inaspettato; Ad esempio, il messaggio di una scheda potrebbe non vengono visualizzate.
Anche se un messaggio di errore potrebbe non essere visualizzato nella UI di Chat, messaggi di errore descrittivi e dati di log che ti aiuteranno a correggere gli errori quando il logging degli errori per le app di chat è attivo. Per assistenza con la visualizzazione, il debug e la correzione degli errori, consulta Risolvere i problemi e correggere gli errori di Google Chat.
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi per utilizzate in questo tutorial, ti consigliamo di eliminare progetto cloud.
- Nella console Google Cloud, vai alla pagina Gestisci risorse. Clic Menu > IAM e Amministratore > Gestisci risorse.
- Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare e fai clic su Elimina .
- Nella finestra di dialogo, digita l'ID progetto e fai clic su Chiudi per eliminarlo. del progetto.
Argomenti correlati
- Gestisci i progetti con Google Chat, Vertex AI e Firestore
- Rispondere agli incidenti con Google Chat, Vertex AI e Apps Script