Neste tutorial, mostramos como criar um app do Google Chat que responde a perguntas com base em conversas em espaços do Chat usando IA generativa desenvolvida pela Vertex AI com o Gemini. O app Chat usa a API Google Workspace Events e o Pub/Sub para reconhecer e responder às perguntas postadas nos espaços do Chat em tempo real, mesmo quando não são mencionadas.
O app Chat usa todas as mensagens enviadas no espaço como uma fonte de dados e base de conhecimento. Quando alguém faz uma pergunta, o app Chat verifica se há respostas compartilhadas anteriormente e compartilha uma delas. Se nenhuma resposta for encontrada, a ferramenta vai informar que não pode responder. Em cada resposta, os usuários podem clicar em um botão de ação acessória para @mencionar um administrador do espaço e pedir uma resposta. Ao usar a IA do Gemini, o app Google Chat se adapta e aumenta a base de conhecimento à medida que é treinado continuamente em conversas nos espaços em que é adicionado.
Confira como o app Chat funciona em um espaço de suporte e integração de funcionários:
-
Figura 1. Charlie adiciona o app de chat assistente de conhecimento de IA a um espaço do Chat. -
Figura 2. Dana pergunta se a empresa oferece treinamento para falar em público. -
Figura 3. O app de chat do assistente de conhecimento de IA solicita à Vertex AI com o Gemini que responda à pergunta de Dana com base no histórico de conversas do espaço do Chat e compartilha a resposta.
Pré-requisitos
Uma conta do Google Workspace Business ou Enterprise com acesso ao Google Chat.
Acesso aos serviços do Google Cloud para fazer o seguinte:
- Criar um projeto do Google Cloud.
- Vincule uma conta de faturamento do Google Cloud ao projeto do Cloud. Para saber se você tem acesso, consulte Permissões necessárias para ativar o faturamento.
- Use invocações não autenticadas de funções do Google Cloud, que podem ser verificadas determinando se a organização do Google Cloud usa compartilhamento restrito por domínio.
Se necessário, peça acesso ou permissão ao administrador do Google Cloud.
Se você estiver usando a CLI do Google Cloud, um ambiente de desenvolvimento Node.js configurado para funcionar com a CLI gcloud. Consulte Como configurar um ambiente de desenvolvimento Node.js.
Objetivos
- Crie um app do Chat que use IA generativa para responder a perguntas com base no conhecimento compartilhado em conversas de espaços do Chat.
- Com a IA generativa:
- Detectar e responder a perguntas dos funcionários.
- Aprenda continuamente com as conversas em andamento em um espaço do Chat.
- Ouvir e responder a mensagens em um espaço do Chat em tempo real, mesmo quando o app não é mencionado diretamente.
- Persista mensagens gravando e lendo um banco de dados do Firestore.
- Facilite a colaboração em um espaço do Chat mencionando os administradores quando não houver resposta para uma pergunta.
Arquitetura
O diagrama a seguir mostra a arquitetura dos recursos do Google Workspace e do Google Cloud usados pelo app de chat do assistente de conhecimento de IA.
O app Chat do assistente de conhecimento de IA funciona assim:
Um usuário adiciona o app de chat do assistente de conhecimento de IA a um espaço do Chat:
O app Chat pede que o usuário que o adicionou ao espaço do Chat configure autenticação e autorização.
O app Chat busca as mensagens do espaço chamando o método
spaces.messages.list
na API Chat e armazenando as mensagens buscadas em um banco de dados do Firestore.O app Chat chama o método
subscriptions.create
na API Google Workspace Events para começar a ouvir eventos como mensagens no espaço. O endpoint de notificação da assinatura é um tópico do Pub/Sub que usa o Eventarc para encaminhar o evento ao app Chat.O app Chat posta uma mensagem de apresentação no espaço.
Um usuário no espaço do Chat posta uma mensagem:
O app Chat recebe a mensagem em tempo real do tópico do Pub/Sub.
O app Chat adiciona a mensagem ao banco de dados do Firestore.
Se um usuário editar ou excluir a mensagem depois, o app Chat vai receber o evento atualizado ou excluído em tempo real e atualizar ou excluir a mensagem no banco de dados do Firestore.
O app Chat envia a mensagem para a Vertex AI com o Gemini:
O comando instrui a Vertex AI com o Gemini a verificar se a mensagem inclui uma pergunta. Se sim, o Gemini responde à pergunta com base no histórico de mensagens do espaço do Chat mantido no Firestore, e o app Google Chat envia a mensagem para o espaço. Se não, não responda.
Se a Vertex AI com o Gemini responder à pergunta, o app de chat vai postar a resposta chamando o método
spaces.messages.create
na API Chat usando a autenticação do app.Se a Vertex AI com o Gemini não conseguir responder à pergunta, o app de chat vai postar uma mensagem informando que não foi possível encontrar uma resposta para essa pergunta no histórico do espaço do Chat.
As mensagens sempre incluem um botão de ação acessório em que os usuários podem clicar, o que faz com que o app do Chat @mencione um gerente do espaço pedindo que ele responda.
O app Chat recebe uma notificação de ciclo de vida da API Google Workspace Events informando que a assinatura do espaço do Chat está prestes a expirar:
- O app do Chat envia uma solicitação para renovar a
assinatura chamando o método
subscriptions.patch
na API Google Workspace Events.
- O app do Chat envia uma solicitação para renovar a
assinatura chamando o método
O app Chat é removido de um espaço do Chat:
O app Chat exclui a assinatura chamando o método
subscriptions.delete
na API Google Workspace Events.O app Chat exclui os dados do espaço do Chat do Firestore.
Analise os produtos usados pelo app de chat do assistente de conhecimento de IA
O app Chat do assistente de conhecimento de IA usa os seguintes produtos do Google Workspace e do Google Cloud:
- API Vertex AI com Gemini: Uma plataforma de IA generativa com tecnologia do Gemini. O app de chat do assistente de conhecimento de IA usa a API Vertex AI com o Gemini para reconhecer, entender e responder a perguntas dos funcionários.
-
API Chat:
uma API para desenvolver apps do Google Chat que recebem e respondem a
eventos de interação do Chat, como mensagens. O app Chat do assistente de conhecimento de IA usa a API Chat para:
- Receber e responder a eventos de interação enviados pelo Chat.
- Lista as mensagens enviadas em um espaço.
- Postar respostas às perguntas dos usuários em um espaço.
- Configure atributos que determinam como ele aparece no Chat, como nome e imagem do avatar.
- API Google Workspace Events: permite se inscrever em eventos e gerenciar notificações de mudança em aplicativos do Google Workspace. O app Chat do assistente de conhecimento de IA usa a API Google Workspace Events para ouvir mensagens postadas em um espaço do Chat e detectar e responder a perguntas mesmo quando não é mencionado.
- Firestore: Um banco de dados de documentos sem servidor. O app de chat do assistente de conhecimento de IA usa o Firestore para armazenar dados sobre mensagens enviadas em um espaço do Chat.
- Pub/Sub: O Pub/Sub é um serviço de mensagens assíncrono e escalonável que separa os serviços que produzem mensagens dos serviços que processam essas mensagens. O app de chat assistente de conhecimento de IA usa o Pub/Sub para receber eventos de assinatura dos espaços do Chat.
- Eventarc: O Eventarc permite criar arquiteturas orientadas a eventos sem precisar implementar, personalizar ou manter a infraestrutura subjacente. O app de chat do assistente de conhecimento de IA usa o Eventarc para encaminhar eventos do Pub/Sub para um espaço do Chat e a função do Cloud Functions que recebe e processa os eventos de assinatura.
-
Cloud Functions:
Um serviço de computação leve sem servidor que permite criar
funções autônomas de finalidade única que podem responder a eventos de
interação e assinatura do Chat sem a necessidade de gerenciar um servidor ou um ambiente de
execução. O app de chat do assistente de conhecimento de IA
usa duas funções do Cloud chamadas:
-
app
: hospede o endpoint HTTP para onde o Chat envia eventos de interação e como uma plataforma de computação para executar a lógica que processa e responde a esses eventos. -
eventsApp
: recebe e processa eventos do espaço do Chat, como mensagens de uma assinatura do Pub/Sub.
- Cloud Build: uma plataforma totalmente gerenciada de integração, entrega e implantação contínuas que executa builds automatizadas.
- Cloud Run: um ambiente totalmente gerenciado para executar aplicativos conteinerizados.
-
Prepare o ambiente
Nesta seção, mostramos como criar e configurar um projeto do Google Cloud para o app de chat.
Criar um projeto do Google Cloud
Console do Google Cloud
- No console do Google Cloud, acesse Menu > IAM e administrador > Criar um projeto.
-
No campo Nome do projeto, insira um nome descritivo para o projeto.
Opcional: para editar o ID do projeto, clique em Editar. O ID não pode ser alterado após a criação do projeto. Portanto, escolha um ID que atenda às suas necessidades durante a vida útil dele.
- No campo Local, clique em Procurar para mostrar os locais possíveis para seu projeto. Em seguida, clique em Selecionar.
- Clique em Criar. O console do Google Cloud navega até a página "Painel", e seu projeto é criado em alguns minutos.
CLI da gcloud
Em um dos seguintes ambientes de desenvolvimento, acesse a CLI do Google Cloud (gcloud
):
-
Cloud Shell: para usar um terminal on-line com a CLI gcloud
já configurada, ative o Cloud Shell.
Ativar o Cloud Shell -
Shell local: para usar um ambiente de desenvolvimento local,
instale e
inicialize
a CLI gcloud.
Para criar um projeto do Cloud, use o comandogcloud projects create
: Substitua PROJECT_ID definindo o ID do projeto que você quer criar.gcloud projects create PROJECT_ID
Ativar o faturamento para o projeto do Cloud
Console do Google Cloud
- No console do Google Cloud, acesse Faturamento. Clique em Menu > Faturamento > Meus projetos.
- Em Selecionar uma organização, escolha a organização associada ao seu projeto do Google Cloud.
- Na linha do projeto, abra o menu Ações ( ), clique em Mudar faturamento e escolha a conta do Cloud Billing.
- Clique em Definir conta.
CLI da gcloud
- Para listar as contas de faturamento disponíveis, execute:
gcloud billing accounts list
- Vincule uma conta de faturamento a um projeto do Google Cloud:
gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID
Substitua:
PROJECT_ID
é o ID do projeto do projeto do Cloud em que você quer ativar o faturamento.BILLING_ACCOUNT_ID
é o ID da conta de faturamento a ser vinculado ao projeto do Google Cloud.
Ative as APIs
Console do Google Cloud
No console do Google Cloud, ative a API Google Chat, a API Vertex AI, a API Cloud Functions, a API Firestore, a API Cloud Build, a API Pub/Sub, a API Google Workspace Events, a API Eventarc e a API Cloud Run Admin.
Confirme se você está ativando as APIs no projeto do Cloud correto e clique em Próxima.
Confirme se você está ativando as APIs corretas e clique em Ativar.
CLI da gcloud
Se necessário, defina o projeto atual do Cloud como aquele que você criou:
gcloud config set project PROJECT_ID
Substitua PROJECT_ID pelo ID do projeto do projeto do Cloud que você criou.
Ative a API Google Chat, a API Vertex AI, a API Cloud Functions, a API Firestore, a API Cloud Build, a API Pub/Sub, a API Google Workspace Events, a API Eventarc e a API Cloud Run Admin 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
Configurar a autenticação e a autorização
A autenticação e a autorização permitem que o app Chat acesse recursos no Google Workspace e no Google Cloud.
Neste tutorial, você vai publicar o app do Google Chat internamente. Por isso, não há problema em usar informações de marcador de posição. Antes de publicar o app Google Chat externamente, substitua as informações do marcador de posição por informações reais na tela de consentimento.
Configurar a tela de permissão OAuth, especificar escopos e registrar seu app
No console do Google Cloud, acesse Menu > > Branding.
Se você já tiver configurado o , poderá configurar as seguintes configurações da tela de consentimento do OAuth em Branding, Público-alvo e Acesso a dados. Se aparecer uma mensagem informando que ainda não foi configurado, clique em Começar:
- Em Informações do app, em Nome do app, digite
AI knowledge assistant
. - Em E-mail para suporte do usuário, selecione seu endereço de e-mail ou um grupo do Google adequado.
- Clique em Próxima.
- Em Público-alvo, selecione Interno. Se não for possível selecionar Interno, escolha Externo.
- Clique em Próxima.
- Em Informações de contato, insira um Endereço de e-mail em que você possa receber notificações sobre mudanças no seu projeto.
- Clique em Próxima.
- Em Concluir, leia a Política de dados do usuário dos serviços de API do Google e, se concordar, selecione Concordo com a Política de dados do usuário dos serviços de API do Google.
- Clique em Continuar.
- Clique em Criar.
- Se você selecionou Externo como o tipo de usuário, adicione usuários de teste:
- Clique em Público-alvo.
- Em Usuários de teste, clique em Adicionar usuários.
- Insira seu endereço de e-mail e os outros usuários de teste autorizados. Depois, clique em Salvar.
- Em Informações do app, em Nome do app, digite
Clique em Acesso a dados > Adicionar ou remover escopos. Um painel aparece com uma lista de escopos para cada API ativada no projeto do Google Cloud.
Em Adicionar escopos manualmente, cole o seguinte escopo:
https://www.googleapis.com/auth/chat.messages
Clique em Adicionar à tabela.
Clique em Atualizar.
Depois de selecionar os escopos exigidos pelo app, na página Acesso a dados, clique em Salvar.
Criar credenciais de ID do cliente OAuth
No console do Google Cloud, acesse Menu > APIs e serviços > Credenciais.
Clique em Criar credenciais > ID do cliente OAuth.
Clique em Tipo de aplicativo > Aplicativo da Web.
No campo Nome, digite um nome para a credencial. Esse nome é mostrado apenas no console do Google Cloud.
Em URIs de redirecionamento autorizados, clique em Adicionar URI.
Em URIs 1, digite o seguinte:
https://REGION-PROJECT_ID.cloudfunctions.net/app/oauth2
Substitua:
- REGION: a região da Função do Cloud, como
us-central1
. Mais tarde, ao criar as duas Funções do Cloud, defina a região delas com esse valor. - PROJECT_ID: o ID do projeto do projeto do Cloud que você criou.
- REGION: a região da Função do Cloud, como
Clique em Criar.
Na janela Cliente OAuth criado, clique em Fazer o download do JSON.
Salve o arquivo baixado como
credentials.json
. Mais tarde, ao criar as duas funções do Cloud, inclua o arquivocredentials.json
em cada implantação.Clique em OK.
Crie o tópico do Pub/Sub
O tópico do Pub/Sub funciona com a API Google Workspace Events para se inscrever em eventos em um espaço do Chat, como mensagens, e notificar o app do Chat em tempo real.
Veja como criar o tópico do Pub/Sub:
Console do Google Cloud
No console do Google Cloud, acesse Menu > Pub/Sub.
Clique em Criar tópico.
Em ID do tópico, digite
events-api
.Desmarque a opção Adicionar uma assinatura padrão.
Em Criptografia, selecione Chave de criptografia gerenciada pelo Google.
Clique em Criar. O tópico do Pub/Sub aparece.
Para que esse tópico do Pub/Sub e a API Google Workspace Events funcionem juntos, conceda ao usuário do IAM do Chat permissão para postar no tópico do Pub/Sub:
No painel events-api, em PERMISSÕES, clique em Adicionar principal.
Em Adicionar principais, em Novos principais, digite
chat-api-push@system.gserviceaccount.com
.Em Atribuir papéis, em Selecionar um papel, escolha Pub/Sub > Editor do Pub/Sub.
Clique em Salvar.
CLI da gcloud
Crie um tópico do Pub/Sub com o ID
events-api
:gcloud pubsub topics create events-api
Conceda ao usuário do IAM do Chat permissão para postar no tópico do Pub/Sub:
gcloud pubsub topics add-iam-policy-binding events-api \ --member='serviceAccount:chat-api-push@system.gserviceaccount.com' \ --role='roles/pubsub.publisher'
Crie o banco de dados do Firestore
O banco de dados do Firestore persiste e recupera dados dos espaços do Chat, como mensagens. Você não define o modelo de dados, que é definido implicitamente no código de amostra pelos arquivos model/message.js
e services/firestore-service.js
.
O banco de dados do app Chat, o assistente de conhecimento de IA, usa um modelo de dados NoSQL baseado em Modelo de dados do Firestore.
documentos organizados em coleções. Para saber mais, consulteO diagrama a seguir é uma visão geral do modelo de dados do app de chat do assistente de conhecimento de IA:
A raiz contém duas coleções:
spaces
, em que cada documento representa um espaço do Chat a que o app é adicionado. Cada mensagem é representada por um documento na subcoleçãomessages
.users
, em que cada documento representa um usuário que adicionou o app do Chat a um espaço do Chat.
Ver definições de coleção, documento e campo
spaces
Um espaço do Chat que inclui o app de chat do assistente de conhecimento de IA.
Campos | |
---|---|
Document ID | String ID exclusivo de um espaço específico. Uma parte do nome do recurso do espaço na API Chat. |
messages | Subcollection of Documents ( Mensagens enviadas no espaço do Chat. Corresponde ao Document ID de um message no Firebase. |
spaceName | String O nome exclusivo do espaço na API Chat. Corresponde ao nome do recurso do espaço na API Chat. |
messages
Mensagens enviadas no espaço do Chat.
Campos | |
---|---|
Document ID | String ID exclusivo de uma mensagem específica. |
name | String O nome exclusivo de uma mensagem na API Chat. Corresponde ao nome do recurso da mensagem na API Chat. |
text | String O corpo do texto da mensagem. |
time | String (Timestamp format) A hora em que a mensagem foi criada. |
users
Usuários que adicionaram o app Chat do assistente de conhecimento de IA a um espaço do Chat.
Campos | |
---|---|
Document ID | String ID exclusivo de um usuário específico. |
accessToken | String O token de acesso concedido durante a autorização do usuário do OAuth 2.0 usado para chamar as APIs do Google Workspace. |
refreshToken | String O token de atualização concedido durante a autorização do usuário do OAuth 2.0. |
Veja como criar o banco de dados do Firestore:
Console do Google Cloud
No console do Google Cloud, acesse Menu > Firestore.
Clique em Criar banco de dados.
Em Selecione o modo do Firestore, clique em Modo nativo.
Clique em Continuar.
Configure o banco de dados:
Em Nomeie seu banco de dados, deixe o ID do banco de dados como
(default)
.Em Tipo de local, selecione Região.
Em Região, especifique uma região para seu banco de dados, como
us-central1
. Para ter o melhor desempenho, selecione o mesmo local ou um local próximo às Funções do Cloud do app Chat.
Clique em Criar banco de dados.
CLI da gcloud
Crie um banco de dados do Firestore no modo nativo:
gcloud firestore databases create \ --location=LOCATION \ --type=firestore-native
Substitua LOCATION pelo nome de uma região do Firestore, como
us-central1
. Para ter o melhor desempenho, selecione o mesmo local ou um local próximo às Funções do Cloud do app Chat.
Criar e implantar o app do Chat
Agora que seu projeto do Google Cloud foi criado e configurado, você está pronto para criar e implantar o app de chat. Nesta seção, você vai fazer o seguinte:
- Crie e implante duas funções do Cloud. Um para responder a eventos de interação do chat e outro para responder a eventos do Pub/Sub.
- Crie e implante um app do Chat na página de configuração da API Google Chat.
Criar e implantar as Funções do Cloud
Nesta seção, você vai criar e implantar duas funções do Cloud chamadas:
app
: hospeda e executa o código do app do Chat que responde a eventos recebidos do Chat como solicitações HTTP.eventsApp
: recebe e processa eventos do espaço do Chat, como mensagens do Pub/Sub.
Juntas, essas funções do Cloud compõem a lógica de aplicativo do app de chat assistente de conhecimento de IA.
Se quiser, antes de criar as funções do Cloud Functions, revise e se familiarize com o exemplo de código hospedado no GitHub.
Criar e implantar app
Console do Google Cloud
Faça o download do código do GitHub como um arquivo zip.
Extraia o arquivo ZIP salvo.
A pasta extraída contém todo o repositório de amostras do Google Workspace.
Na pasta extraída, navegue até o diretório
google-chat-samples-main/node/ai-knowledge-assistant
.No diretório
google-chat-samples/node/ai-knowledge-assistant
, adicione o arquivocredentials.json
que você baixou ao criar credenciais de ID do cliente OAuth para autenticação e autorização.Compacte o conteúdo da pasta
ai-knowledge-assistant
em um arquivo ZIP.O arquivo ZIP precisa conter os seguintes arquivos e pastas:
.gcloudignore
.gitignore
README.md
deploy.sh
env.js
events_index.js
http_index.js
index.js
credentials.json
package-lock.json
package.json
controllers/
model/
services/
test/
No console do Google Cloud, acesse Menu > Cloud Functions.
Verifique se o projeto do Google Cloud do seu app do Chat está selecionado.
Clique em
Criar função.Na página Criar função, configure sua função:
- Em Ambiente, selecione Função do Cloud Run.
- Em Nome da função, digite
app
. - Em Região, selecione uma região, como
us-central1
. Essa região precisa corresponder à região definida no URI de redirecionamento autorizado ao criar credenciais de ID do cliente OAuth para autenticação e autorização. - Em Tipo de gatilho, selecione HTTPS.
- Em Autenticação, selecione Permitir invocações não autenticadas.
- Clique em Próxima.
Em Ambiente de execução, selecione Node.js 20.
Em Ponto de entrada, exclua o texto padrão e insira
app
.Em Código-fonte, selecione Upload do ZIP.
Em Bucket de destino, crie ou selecione um bucket:
- Clique em Procurar.
- Escolha um bucket.
- Clique em Selecionar.
O Google Cloud faz upload do arquivo ZIP e extrai os arquivos de componentes nesse bucket. Em seguida, o Cloud Functions copia os arquivos de componente para a função do Cloud.
Em Arquivo ZIP, faça upload do arquivo ZIP que você baixou do GitHub, extraiu e compactou novamente:
- Clique em Procurar.
- Navegue até o arquivo ZIP e selecione-o.
- Clique em Abrir.
Clique em Implantar.
A página Detalhes do Cloud Functions é aberta, e sua função aparece com dois indicadores de progresso: um para o build e outro para o serviço. Quando os dois indicadores de progresso desaparecem e são substituídos por uma marca de seleção, a função é implantada e fica pronta.
Edite o exemplo de código para definir constantes:
- Na página Detalhes da função do Cloud, clique em Editar.
- Clique em Próxima.
- Em Código-fonte, selecione Editor in-line.
- No editor in-line, abra e edite o arquivo
env.js
:- Defina o valor de project como o ID do projeto do Cloud.
- Defina o valor de location como a região do Cloud Functions, como
us-central1
.
Clique em Implantar.
CLI da gcloud
Clone o código do GitHub:
git clone https://github.com/googleworkspace/google-chat-samples.git
Mude para o diretório que contém o código deste app de chat assistente de conhecimento de IA:
cd google-chat-samples/node/ai-knowledge-assistant
No diretório
google-chat-samples/node/ai-knowledge-assistant
, adicione o arquivocredentials.json
que você baixou ao criar credenciais de ID do cliente OAuth para autenticação e autorização.Edite o arquivo
env.js
para definir variáveis de ambiente:- Defina o valor de project como o ID do projeto do Cloud.
- Defina o valor de location como a região do Cloud Functions, como
us-central1
.
Implante a função do Cloud no Google Cloud:
gcloud functions deploy app \ --gen2 \ --region=REGION \ --runtime=nodejs20 \ --source=. \ --entry-point=app \ --trigger-http \ --allow-unauthenticated
Substitua REGION pelo valor da região da função do Cloud para corresponder à definida no arquivo
env.js
, comous-central1
.
Criar e implantar eventsApp
Console do Google Cloud
No console do Google Cloud, acesse Menu > Cloud Functions.
Verifique se o projeto do Google Cloud do seu app do Chat está selecionado.
Clique em
Criar função.Na página Criar função, configure sua função:
- Em Ambiente, selecione Função do Cloud Run.
- Em Nome da função, digite
eventsApp
. - Em Região, selecione uma região, como
us-central1
. Essa região precisa corresponder à região definida no URI de redirecionamento autorizado ao criar credenciais de ID do cliente OAuth para autenticação e autorização. - Em Tipo de gatilho, selecione Cloud Pub/Sub.
- Em Tópico do Cloud Pub/Sub, selecione o nome do tópico do Pub/Sub que você criou, que tem o formato
projects/PROJECT/topics/events-api
, em que PROJECT é o ID do seu projeto do Google Cloud. - Se aparecer uma mensagem começando com
Service account(s) might not have enough permissions to deploy the function with the selected trigger.
, clique em Conceder tudo. - Clique em Próxima.
Em Ambiente de execução, selecione Node.js 20.
Em Ponto de entrada, exclua o texto padrão e insira
eventsApp
.Em Código-fonte, selecione ZIP do Cloud Storage.
Em Local no Cloud Storage, clique em Procurar.
Selecione o bucket em que você fez upload do arquivo ZIP ao criar a função do Cloud
app
.Clique no arquivo ZIP que você enviou.
Clique em Selecionar.
Clique em Implantar.
A página Detalhes do Cloud Functions é aberta, e sua função aparece com três indicadores de progresso: um para o build, um para o serviço e um para o gatilho. Quando todos os três indicadores de progresso desaparecem e são substituídos por uma marca de seleção, sua função é implantada e fica pronta.
Edite o exemplo de código para definir constantes:
- Na página Detalhes da função do Cloud, clique em Editar.
- Clique em Próxima.
- Em Código-fonte, selecione Editor in-line.
- No editor in-line, abra e edite o arquivo
env.js
:- Defina o valor de project como o ID do projeto do Cloud.
- Defina o valor de location como a região do Cloud Functions, como
us-central1
.
Clique em Implantar.
CLI da gcloud
Na CLI gcloud, se você ainda não estiver lá, mude para o diretório que contém o código do app de chat do assistente de conhecimento de IA que você clonou do GitHub:
cd google-chat-samples/node/ai-knowledge-assistant
No diretório
google-chat-samples/node/ai-knowledge-assistant
, adicione o arquivocredentials.json
que você baixou ao criar credenciais de ID do cliente OAuth para autenticação e autorização.Edite o arquivo
env.js
para definir variáveis de ambiente:- Defina o valor de project como o ID do projeto do Cloud.
- Defina o valor de location como a região do Cloud Functions, como
us-central1
.
Implante a função do Cloud no Google Cloud:
gcloud functions deploy eventsApp \ --gen2 \ --region=REGION \ --runtime=nodejs20 \ --source=. \ --entry-point=eventsApp \ --trigger-topic=events-api
Substitua REGION pelo valor da região da função do Cloud para corresponder à definida no arquivo
env.js
, comous-central1
.
Copie o URL do gatilho da Função do Cloud app
.
Cole o URL do gatilho da função do Cloud app
na próxima seção ao configurar o app do Chat no console do Google Cloud.
Console do Google Cloud
No console do Google Cloud, acesse Menu > Cloud Functions.
Na coluna Nome da lista de funções do Cloud, clique em
app
.Clique em Gatilho.
Copie o URL.
CLI da gcloud
Descreva a Função do Cloud
app
:gcloud functions describe app
Copie a propriedade
url
.
Configurar o app Chat no console do Google Cloud
Esta seção mostra como configurar a API Chat no console do Google Cloud com informações sobre seu app de chat, incluindo o nome dele e o URL de acionamento da função do Cloud do app de chat, para onde ele envia eventos de interação do Chat.
No console do Google Cloud, clique em Menu > Mais produtos > Google Workspace > Biblioteca de produtos > API Google Chat > Gerenciar > Configuração.
Em Nome do app, digite
AI knowledge assistant
.Em URL do avatar, digite
https://fonts.gstatic.com/s/i/short-term/release/googlesymbols/live_help/default/24px.svg
.Em Descrição, digite
Answers questions with AI
.Clique no botão Ativar recursos interativos para a posição ativada.
Em Funcionalidade, selecione Participar de espaços e conversas em grupo.
Em Configurações de conexão, selecione URL do endpoint HTTP.
Em URL do endpoint HTTP, cole o URL do gatilho da função do Cloud
app
formatado comohttps://
REGION-
PROJECT_ID.cloudfunctions.net/app
em que REGION é a região da função do Cloud, comous-central1
e PROJECT_ID é o ID do projeto do projeto do Cloud que você criou.Em Visibilidade, selecione Disponibilize o app de chat para pessoas e grupos específicos no seu domínio do Workspace e digite seu endereço de e-mail.
Se quiser, em Registros, selecione Registrar erros no Logging.
Clique em Salvar. Uma mensagem de configuração salva vai aparecer, o que significa que o app Chat está pronto para teste.
Teste o app do Chat
Teste o app de chat do assistente de conhecimento de IA em um espaço do Chat com mensagens fazendo perguntas que ele possa responder.
Confira algumas maneiras de testar o assistente de conhecimento de IA App Chat:
- Adicione o app de chat do assistente de conhecimento de IA a um espaço do Chat e faça perguntas relevantes para esse espaço.
- Crie um espaço do Chat e poste algumas mensagens para usar como
uma fonte de dados. As mensagens podem ser originadas do
Gemini com um comando como
Answer 20 common onboarding questions employees ask their teams.
Ou, cole alguns parágrafos do guia Desenvolver com o Chat: visão geral e faça perguntas sobre ele.
Para este tutorial, vamos criar um espaço do Chat e colar alguns parágrafos do guia Visão geral do desenvolvimento com o Chat.
Abra o Google Chat.
Crie um espaço do Chat:
Clique em > Criar um espaço.
Novo chatEm Nome do espaço, digite
Testing AI knowledge assistant app
.Em Para que serve este espaço?, selecione Colaboração.
Em Configurações de acesso, escolha quem pode acessar o espaço.
Clique em Criar.
Adicione mensagens para usar como fonte de dados:
Em um navegador da Web, acesse o guia Visão geral do desenvolvimento com o Chat.
Copie e cole o conteúdo do guia no espaço do Chat que você criou.
Adicione o app de chat do assistente de conhecimento de IA:
Na barra de composição de mensagens, digite
@AI knowledge assistant
e, no menu de sugestões que aparece, selecione o app de chat do assistente de conhecimento de IA e pressioneenter
.Uma mensagem vai aparecer perguntando se você quer adicionar o app de chat Assistente de conhecimento de IA ao espaço. Clique em Adicionar ao espaço.
Se esta for a primeira vez que você adiciona o app Chat a um espaço, configure a autenticação e a autorização para o app:
- Clique em Configurar.
- Uma nova janela ou guia do navegador será aberta e você precisará escolher uma Conta do Google. Escolha a conta que você está testando.
- Revise as permissões solicitadas pelo app de chat do assistente de conhecimento de IA. Para conceder permissão, clique em Permitir.
- Uma mensagem informando
You may close this page now.
vai aparecer. Feche a janela ou guia do navegador e volte para o espaço do Chat.
Faça uma pergunta:
Na barra de composição de mensagens, digite uma pergunta como
What are Google Chat apps?
O app de chat do assistente de conhecimento de IA responde.
Se a resposta não for precisa ou suficiente, clique em
Receber ajuda para melhorar o histórico de conversas da IA. O app de chat do assistente de conhecimento de IA menciona um administrador do espaço e pede que ele responda à pergunta. Da próxima vez, o app de chat do assistente de conhecimento de IA vai saber a resposta!
Considerações, opções de arquitetura alternativas e próximas etapas
Esta seção analisa outras maneiras de criar o app de chat do assistente de conhecimento de IA.
Firestore, Cloud Storage ou chamando List Messages na API Chat
Neste tutorial, recomendamos armazenar dados do espaço do Chat, como
mensagens, em um banco de dados do Firestore porque isso melhora o desempenho em comparação
com a chamada do método list
no recurso Message
com a API Chat sempre que o
app Chat responde a uma pergunta. Além disso, chamar
list messages
repetidamente pode fazer com que o
app Chat atinja os limites de cota da API.
No entanto, se o histórico de conversas de um espaço do Chat ficar muito longo, o uso do Firestore pode ficar caro.
O Cloud Storage é uma alternativa ao Firestore. Cada espaço em que o app de chat do assistente de conhecimento de IA está ativo tem um objeto próprio, e cada objeto é um arquivo de texto que contém todas as mensagens do espaço. A vantagem dessa abordagem é que todo o conteúdo do arquivo de texto pode ser enviado para a Vertex AI com o Gemini de uma só vez. No entanto, a desvantagem é que leva mais trabalho para atualizar o histórico de conversas, porque não é possível anexar a um objeto no Cloud Storage, apenas substituí-lo. Essa abordagem não faz sentido se você atualiza regularmente o histórico de mensagens, mas seria uma boa opção se você atualizasse em lote o histórico de mensagens periodicamente, por exemplo, uma vez por semana.
Resolver problemas
Quando um app ou card do Google Chat retorna um erro, a interface do Chat mostra a mensagem "Ocorreu um erro". ou "Não foi possível processar sua solicitação". Às vezes, a interface do Chat não mostra nenhuma mensagem de erro, mas o app ou card do Chat produz um resultado inesperado. Por exemplo, uma mensagem do card pode não aparecer.
Embora uma mensagem de erro não apareça na interface do Chat, mensagens de erro descritivas e dados de registro estão disponíveis para ajudar você a corrigir erros quando o registro de erros para apps do Chat está ativado. Para ajuda com a visualização, depuração e correção de erros, consulte Resolver e corrigir erros do Google Chat.
Limpar
Para evitar cobranças na sua conta do Google Cloud pelos recursos usados neste tutorial, recomendamos que você exclua o projeto do Cloud.
- No console do Google Cloud, acesse a página Gerenciar recursos. Clique em Menu > IAM e administrador > Gerenciar recursos.
- Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
- Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.
Temas relacionados
- Gerenciar projetos com o Google Chat, a Vertex AI e o Firestore
- Responder a incidentes com o Google Chat, a Vertex AI e o Apps Script