Responda a perguntas com base nas conversas do Chat com um app Gemini AI Chat

Neste tutorial, mostramos como criar um app do Google Chat que responda perguntas baseadas nas conversas nos espaços do Chat IA desenvolvida pela Vertex AI com o Gemini. O app do Chat usa a API Google Workspace Events e o Pub/Sub para reconhecer e responder perguntas; postadas nos espaços do Chat em tempo real, mesmo quando não são mencionados.

O app do Chat usa todas as mensagens enviadas no espaço como uma fonte de dados e uma base de conhecimento: quando alguém faz uma pergunta, o O app do Chat verifica as respostas já compartilhadas e depois compartilhar um. Se nenhuma resposta for encontrada, a mensagem diz que não é possível atender. Em cada resposta, os usuários podem clicar em um botão de ação de acessório para @mencionar um administrador do espaço e pedir para encontrar uma resposta. Com o Gemini AI, o app Google Chat se adapta e aumenta a base de conhecimento com treinamentos contínuos sobre conversas em espaços ao qual ela foi adicionada.

Veja como o app do Chat funciona na integração de um funcionário e espaço de suporte:

  • Mencionar o app assistente de conhecimento de IA o adiciona a um espaço.
    Figura 1. Carlos adiciona o app do Chat, assistente de conhecimento de IA, a um espaço do Chat.
  • Dana faz uma pergunta.
    Figura 2. Daniela pergunta se a empresa oferece treinamento para falar em público.
  • O app Chat, assistente de conhecimento de IA, responde à pergunta.
    Figura 3. O app Chat assistente de conhecimento de IA solicita que a Vertex AI com o Gemini responda à pergunta de Daniela com base no histórico de conversas do espaço do Chat e, em seguida, compartilha a resposta.

Pré-requisitos

Objetivos

  • Crie um app de chat que usa IA generativa para responda a perguntas com base no conhecimento compartilhado no espaço do Chat conversas.
  • Com a IA generativa:
    • Detecte e responda às perguntas dos funcionários.
    • Aprender continuamente com as conversas em um Chat espaço.
  • Ouça e responda mensagens em um espaço do Chat em tempo real mesmo quando o app do Chat não está mensagem.
  • Manter as mensagens gravando e lendo em um banco de dados do Firestore.
  • Facilitar a colaboração em um espaço do Chat mencionando um espaço quando nenhuma resposta para uma pergunta for encontrada.

Arquitetura

O diagrama a seguir mostra a arquitetura do Google Workspace Recursos do Google Cloud usados pelo Assistente de conhecimento de IA App Chat.

Diagrama da arquitetura do app Chat assistente de conhecimento de IA

O app Chat, assistente de conhecimento de IA, funciona da seguinte forma:

  • Um usuário adiciona o app do Chat, assistente de conhecimento de IA para um espaço do Chat:

    1. O app do Chat solicita usuário que o adicionou ao espaço do Chat para configurar autenticação e autorização.

    2. O app do Chat busca as mensagens do espaço chame o método spaces.messages.list na API Chat. armazena as mensagens buscadas em um banco de dados do Firestore.

    3. O app do Chat chama Método subscriptions.create na API Google Workspace Events para começar detectar eventos, como mensagens no espaço, A endpoint de notificação da assinatura é um tópico do Pub/Sub que usa Eventarc para encaminhar o evento ao app do Chat.

    4. O app do Chat posta uma mensagem de introdução para espaço.

  • Um usuário no espaço do Chat posta uma mensagem:

    1. O app do Chat recebe a mensagem em tempo real do tópico do Pub/Sub.

    2. O app do Chat adiciona a mensagem ao Firestore no seu banco de dados.

      Se um usuário editar ou excluir a mensagem posteriormente, o O app do Chat recebe o evento atualizado ou excluído em tempo real e atualiza ou exclui a mensagem no bloco no seu banco de dados.

    3. O app do Chat envia a mensagem para a Vertex AI com o Gemini:

      1. O comando instrui a Vertex AI com o Gemini a verificar se a mensagem inclui uma pergunta. Em caso afirmativo, 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 do Chat. Caso contrário, não responda.

      2. Se a Vertex AI com Gemini responder à pergunta, o O app do Chat publica o chame o método spaces.messages.create na API Chat usando a autenticação de apps.

        Se a Vertex AI com o Gemini não conseguir responder à pergunta, o O app do Chat posta um 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 que os usuários podem clicar, o que faz com que o app do Chat @mencionar um administrador do espaço e pedir que a pessoa responda.

  • O app do Chat recebe uma notificação de ciclo de vida na API Google Workspace Events, que a assinatura do espaço do Chat está prestes a expirar:

    1. O app do Chat solicita a renovação do a assinatura chamando o método subscriptions.patch na na API Google Workspace Events.
  • O app do Chat é removido de um Chat espaço:

    1. O app do Chat exclui a assinatura: chamando o método subscriptions.delete na na API Google Workspace Events.

    2. O app do Chat exclui o Chat. dados do espaço do Firestore.

Confira os produtos usados pelo app Assistente de conhecimento sobre IA do Chat

O app Chat, assistente de conhecimento sobre IA, usa seguintes produtos do Google Workspace e do Google Cloud:

  • API Vertex AI com Gemini: Uma plataforma de IA generativa com a tecnologia do Gemini. Assistente de conhecimento de IA O app do Chat usa a API Vertex AI com o Gemini para reconhecer, entender e responder às perguntas dos funcionários.
  • API Chat: Uma API para desenvolver apps do Google Chat que recebem e respondem a Eventos de interação de chat, como mensagens. A IA O app assistente de conhecimento do Chat usa a API Chat para:
    • Receba e responda a eventos de interação enviados pelo Chat.
    • Lista as mensagens enviadas em um espaço.
    • Poste respostas para as perguntas dos usuários em um espaço.
    • Configure os atributos que determinam como ele aparece em Chat, como nome e imagem de avatar.
  • API Google Workspace Events: Com essa API, você pode se inscrever em eventos e gerenciar notificações sobre alterações nos aplicativos do Google Workspace. A O app Chat assistente de conhecimento de IA usa a API Google Workspace Events para detectar as mensagens postadas em um Espaço do Chat para detectar e responder perguntas mesmo quando não são mencionados.
  • Firestore: Um banco de dados de documentos sem servidor. Assistente de conhecimento de IA App de chat 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 e serviços que produzem mensagens a partir dos serviços que processam essas mensagens. A O app Chat assistente de conhecimento de IA usa o Pub/Sub para receber eventos de assinatura dos espaços do Chat.
  • Eventarc: Com o Eventarc, você cria arquiteturas orientadas a eventos sem precisar implementar, personalizar ou manter a infraestrutura. A IA O app assistente de conhecimento do Chat usa o Eventarc para rotear eventos do Pub/Sub para um espaço do Chat; a função do Cloud que recebe e processa os eventos de assinatura.
  • Cloud Functions: Um serviço de computação leve e sem servidor que permite criar funções autônomas e de finalidade única que possam responder a comandos do Chat eventos de interação e assinatura sem a necessidade de gerenciar um servidor ou ambiente de execução de nuvem. O app Chat, assistente de conhecimento sobre IA usa duas funções do Cloud chamadas:
    • app: hospeda o endpoint HTTP que o Chat envia de interação ao usuário e como uma plataforma de computação para executar a lógica processa e responde a esses eventos.
    • eventsApp: recebe e processa o espaço do Chat eventos, como mensagens de uma assinatura do Pub/Sub.
    . O Cloud Functions usa os seguintes produtos do Google Cloud para criar e recursos de computação do host:
    • Cloud Build: Uma plataforma totalmente gerenciada de integração, entrega e implantação contínuas que executa builds automatizados.
    • 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 a App Chat.

Criar um projeto do Google Cloud

Console do Google Cloud

  1. No console do Google Cloud, acesse o menu > IAM e Administrador > Criar um projeto.

    Acessar "Criar um projeto"

  2. No campo Nome do projeto, insira um nome descritivo para o projeto.

    Opcional: para editar o ID do projeto, clique em Editar. O ID do projeto não pode ser alterado após a criação do projeto, então escolha um ID que atenda às suas necessidades para o ciclo de vida projeto.

  3. No campo Local, clique em Procurar para mostrar os possíveis locais para sua projeto. Em seguida, clique em Selecionar.
  4. Clique em Criar. O console do Google Cloud acessa a página "Painel" e seu projeto é criado em alguns minutos.

CLI da gcloud

Em um dos ambientes de desenvolvimento a seguir, acesse o Google Cloud CLI (`gcloud`):

  • Cloud Shell: para usar um terminal on-line com a gcloud CLI configure o Cloud Shell.
    Ativar o Cloud Shell
  • Local Shell: para usar um ambiente de desenvolvimento local, instalar e inicializar a CLI gcloud.
    Para criar um projeto do Cloud, use o comando "gcloud projects create":
    gcloud projects create PROJECT_ID
    Substitua PROJECT_ID definindo o ID do projeto que você quer criar.

Ative o faturamento para o projeto do Cloud

Console do Google Cloud

  1. No console do Google Cloud, acesse Faturamento. Clique em Cardápio > Faturamento > Meus projetos.

    Acessar o faturamento dos meus projetos

  2. Em Selecionar uma organização, escolha a organização associada a seu projeto do Google Cloud.
  3. Na linha do projeto, abra o menu Ações. (), Clique em Alterar faturamento e escolha conta do Cloud Billing.
  4. Clique em Definir conta.

CLI da gcloud

  1. Para listar as contas de faturamento disponíveis, execute:
    gcloud billing accounts list
  2. 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 da projeto do Google Cloud em que você quer ativar o faturamento.
    • BILLING_ACCOUNT_ID é o ID da conta de faturamento a ser vinculada. no projeto do Google Cloud.

Ative as APIs

Console do Google Cloud

  1. 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.

    Ativar as APIs

  2. Confirme se você está ativando as APIs projeto do Google Cloud e clique em Próxima.

  3. Confirme se você está ativando as APIs corretas e clique em Ativar.

CLI da gcloud

  1. Se necessário, defina o projeto atual do Cloud para aquele que você criado em:

    gcloud config set project PROJECT_ID
    

    Substitua PROJECT_ID pelo ID do projeto da do Google Cloud que você criou.

  2. 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 o administrador do 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
    

Configurar a autenticação e a autorização

Com a autenticação e a autorização, Recursos de acesso a apps do Chat no Google Workspace e Google Cloud.

Neste tutorial, você vai publicar o app Google Chat internamente para que ele seja É possível usar as informações de marcador de posição. Antes de publicar App Google Chat externo. Substitua as informações do marcador de posição por informações reais para a tela de consentimento.

  1. No console do Google Cloud, acesse Cardápio > APIs e Serviços > Tela de permissão OAuth.

    Acessar a tela de permissão OAuth

  2. Em Tipo de usuário, selecione Interno e clique em Criar.

  3. Em Nome do app, digite AI knowledge assistant.

  4. Em E-mail para suporte do usuário, selecione seu endereço de e-mail ou uma grupo do Google.

  5. Em Dados de contato do desenvolvedor, insira seu endereço de e-mail.

  6. Clique em Salvar e continuar.

  7. Clique em Adicionar ou remover escopos. Será exibido um painel com uma lista de escopos. para cada API ativada no projeto do Cloud.

  8. Em Adicionar escopos manualmente, cole o seguinte escopo:

    • https://www.googleapis.com/auth/chat.messages
  9. Clique em Adicionar à tabela.

  10. Clique em Atualizar.

  11. Clique em Salvar e continuar.

  12. Leia o resumo do registro do app e clique em Voltar ao painel.

Criar credenciais de ID do cliente OAuth

  1. No console do Google Cloud, acesse Cardápio > APIs e Serviços > Credenciais.

    Ir para Credenciais

  2. Clique em Criar credenciais. > ID do cliente OAuth.

  3. Clique em Tipo de aplicativo. > Aplicativo da Web.

  4. No campo Nome, digite um nome para a credencial. Esse nome só é mostrados no console do Google Cloud.

  5. Em URIs de redirecionamento autorizados, clique em Adicionar URI.

  6. 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. Depois, ao criar as duas Funções do Cloud, é preciso definir para esse valor.
    • PROJECT_ID: o ID do projeto do Cloud. que você criou.
  7. Clique em Criar.

  8. Na janela Cliente OAuth criado, clique em Fazer o download do JSON.

  9. Salve o arquivo baixado como client_secrets.json. Depois, quando você criar as duas Funções do Cloud, inclua o arquivo client_secrets.json em cada implantação do Google Workspace.

  10. Clique em OK.

Crie o tópico do Pub/Sub

O tópico do Pub/Sub funciona com API Google Workspace Events para se inscrever em eventos em um Chat como mensagens, e notificar o app do Chat em tempo real tempo de resposta.

Veja como criar o tópico do Pub/Sub:

Console do Google Cloud

  1. No console do Google Cloud, acesse Cardápio > Pub/Sub.

    Ir para o Pub/Sub

  2. Clique em Criar tópico.

  3. Em ID do tópico, digite events-api.

  4. Desmarque a opção Adicionar uma assinatura padrão.

  5. Em Criptografia, selecione Chave de criptografia gerenciada pelo Google.

  6. Clique em Criar. O tópico Pub/Sub é exibido.

  7. Para que este tópico do Pub/Sub e a API Google Workspace Events funcionem juntos, conceda a permissão de usuário do IAM do Chat para publicar tópico do Pub/Sub:

    1. No painel events-api, em PERMISSÕES, clique em Adicionar principal.

    2. Em Adicionar principais, em Novos principais, digite chat-api-push@system.gserviceaccount.com

    3. Em Atribuir papéis, em Selecionar papel, escolha Pub/Sub > Editor do Pub/Sub.

    4. Clique em Salvar.

CLI da gcloud

  1. Crie um tópico do Pub/Sub com o ID de tópico events-api:

    gcloud pubsub topics create events-api
    
  2. Conceda permissão de postagem ao usuário do IAM do Chat 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'
    

Criar o banco de dados do Firestore

O banco de dados do Firestore persiste e recupera dados de espaços do Chat, como mensagens. Você não define os dados definido implicitamente no exemplo de código por model/message.js e services/firestore-service.js arquivos.

O banco de dados do app Chat, que é assistente de conhecimento de IA, usa uma modelo de dados NoSQL baseado em documentos organizados em coleções. Para saber mais, consulte Modelo de dados do Firestore.

O diagrama a seguir é uma visão geral do Assistente de conhecimento de IA Modelo de dados do app de chat:

Modelo de dados do banco de dados do Firestore.

A raiz contém duas coleções:

  1. spaces, em que cada documento representa um espaço do Chat que ao qual o app do Chat é adicionado. Cada mensagem é representada por um documento na subcoleção messages.

  2. users, em que cada documento representa um usuário que adicionou o App do Chat para um espaço do Chat.

Conferir definições de coleções, documentos e campos

spaces

Um espaço do Chat que inclui o app Assistente de conhecimento de IA.

Campos
Document IDString
ID exclusivo de um espaço específico. Uma parte do nome do recurso do espaço na API Chat.
messagesSubcollection of Documents (messages)
Mensagens enviadas no espaço do Chat. Corresponde ao Document ID de um message no Firebase.
spaceNameString
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 IDString
ID exclusivo de uma mensagem específica.
nameString
O nome exclusivo de uma mensagem na API Chat. Corresponde ao nome do recurso da mensagem na API Chat.
textString
Corpo do texto da mensagem.
timeString (Timestamp format)
A hora em que a mensagem foi criada.

users

Usuários que adicionaram o app do Chat, assistente de conhecimento de IA, a um espaço do Chat.

Campos
Document IDString
ID exclusivo de um usuário específico.
accessTokenString
O token de acesso concedido durante a autorização do usuário do OAuth 2.0 usado para chamar as APIs do Google Workspace.
refreshTokenString
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

  1. No console do Google Cloud, acesse Cardápio > Firestore.

    Vá para o Firestore

  2. Clique em Criar banco de dados.

  3. Em Selecione o modo do Firestore, clique em Modo nativo.

  4. Clique em Continuar.

  5. Configure o banco de dados:

    1. Em Nomeie seu banco de dados, deixe o ID do banco de dados como (default).

    2. Em Tipo de local, selecione Região.

    3. Em Região, especifique uma região para seu banco de dados, como us-central1 Para ter o melhor desempenho, selecione o mesmo ou o próximo item local como o Cloud Functions do app do Chat.

  6. 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 chave do Firestore região, como como us-central1. Para ter o melhor desempenho, selecione o mesmo ou o próximo item local como o Cloud Functions do app do Chat.

Criar e implantar o app do Chat

Agora que o projeto do Google Cloud foi criado e configurado, você já pode criar e implantar o app do Chat. Nesta seção, você vai aprender seguintes:

  1. Criar e implantar duas funções do Cloud. Uma para responder ao Chat eventos de interação e outro para responder a eventos do Pub/Sub.
  2. Criar e implantar um app do Chat na API Google Chat de configuração do Terraform.

Criar e implantar o Cloud Functions

Nesta seção, você vai criar e implantar duas funções do Cloud chamadas:

  • app: hospeda e executa o código que responde a eventos recebidos do Chat como HTTP solicitações.
  • eventsApp: recebe e processa o espaço do Chat de eventos, como mensagens do Pub/Sub.

Juntas, essas funções do Cloud formam o assistente de conhecimento de IA Lógica do aplicativo do app de chat.

Opcionalmente, antes de criar o Cloud Functions, reserve um momento para revisar e você vai conhecer o exemplo de código hospedado no GitHub.

Ver no GitHub

Criar e implantar app

Console do Google Cloud

  1. Faça o download do código do GitHub como um arquivo ZIP.

    Fazer o download do arquivo ZIP

  2. Extraia o arquivo ZIP salvo.

    A pasta extraída contém todas as amostras do Google Workspace repositório de dados.

  3. Na pasta extraída, acesse google-chat-samples-main/node/ai-knowledge-assistant.

  4. No diretório google-chat-samples/node/ai-knowledge-assistant, adicione o arquivo client_secrets.json que você salvou quando criou credenciais de ID do cliente OAuth para autenticação e autorização.

  5. Compacte o conteúdo da pasta ai-knowledge-assistant em um ZIP. .

    O diretório raiz do arquivo ZIP precisa conter o seguinte arquivos e pastas:

    • .gcloudignore
    • .gitignore
    • README.md
    • deploy.sh
    • env.js
    • events_index.js
    • http_index.js
    • index.js
    • client_secrets.json
    • package-lock.json
    • package.json
    • controllers/
    • model/
    • services/
    • test/
  6. No console do Google Cloud, acesse Cardápio > Cloud Functions.

    Acesse o Cloud Functions

    Verifique se o projeto do Google Cloud da sua O app do Chat está selecionado.

  7. Clique em Criar função.

  8. Na página Criar função, configure sua função:

    1. Em Ambiente, selecione 2a geração.
    2. Em Nome da função, digite app.
    3. Em Região, selecione uma região, como us-central1. Esta região precisa corresponder à região definida no URI de redirecionamento autorizado quando você criou credenciais de ID do cliente OAuth para autenticação e autorização.
    4. Em Tipo de gatilho, selecione HTTPS.
    5. Em Autenticação, selecione Permita invocações não autenticadas.
    6. Clique em Próxima.
  9. Em Ambiente de execução, selecione Node.js 20.

  10. Em Ponto de entrada, exclua o texto padrão e digite app

  11. Em Código-fonte, selecione Upload de CEP.

  12. Em Bucket de destino: criar ou selecione um bucket:

    1. Clique em Procurar.
    2. Escolha um bucket.
    3. Clique em Selecionar.

    O Google Cloud faz upload do arquivo ZIP e extrai os arquivos de componentes neste bucket. O Cloud Functions copia os arquivos de componentes para a função do Cloud.

  13. Em Arquivo ZIP, faça upload do arquivo ZIP que você baixou do GitHub. extraída e recompactada:

    1. Clique em Procurar.
    2. Navegue até o arquivo ZIP e selecione-o.
    3. Clique em Abrir.
  14. Clique em Implantar.

    A página Detalhes do Cloud Functions é aberta e sua função é exibida. 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 verificação a função será implantada e estará pronta.

  15. Edite o exemplo de código para definir constantes:

    1. Na página Detalhes da função do Cloud, clique em Editar.
    2. Clique em Próxima.
    3. Em Código-fonte, selecione Editor in-line.
    4. No editor in-line, abra e edite o arquivo env.js:
      1. Defina o valor de project como seu ID do projeto do Google Cloud.
      2. Defina o valor de location como o valor região, como us-central1.
  16. Clique em Implantar.

CLI da gcloud

  1. Clone o código do GitHub:

    git clone https://github.com/googleworkspace/google-chat-samples.git
    
  2. Mude para o diretório que contém o código desse conhecimento de IA App de chat assistente:

    cd google-chat-samples/node/ai-knowledge-assistant
    
  3. No diretório google-chat-samples/node/ai-knowledge-assistant, adicione o arquivo client_secrets.json que você salvou quando criou credenciais de ID do cliente OAuth para autenticação e autorização.

  4. Edite o arquivo env.js para definir variáveis de ambiente:

    1. Defina o valor de project como o projeto do Cloud ID.
    2. Defina o valor de location como o valor region, como us-central1.
  5. 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 do atributo região para corresponder ao definido no arquivo env.js, como us-central1.

Criar e implantar eventsApp

Console do Google Cloud

  1. No console do Google Cloud, acesse Cardápio > Cloud Functions.

    Acesse o Cloud Functions

    Verifique se o projeto do Google Cloud da sua O app do Chat está selecionado.

  2. Clique em Criar função.

  3. Na página Criar função, configure sua função:

    1. Em Ambiente, selecione 2a geração.
    2. Em Nome da função, digite eventsApp.
    3. Em Região, selecione uma região, como us-central1. Esta região precisa corresponder à região definida no URI de redirecionamento autorizado quando você criou credenciais de ID do cliente OAuth para autenticação e autorização.
    4. Em Tipo de gatilho, selecione Cloud Pub/Sub.
    5. Em Tópico do Cloud Pub/Sub, selecione o nome do tópico do Pub/Sub que você criado, com o formato projects/PROJECT/topics/events-api onde PROJECT é o ID do projeto do Cloud.
    6. Se for exibida uma mensagem que começa com Service account(s) might not have enough permissions to deploy the function with the selected trigger., clique em Conceder tudo.
    7. Clique em Próxima.
  4. Em Ambiente de execução, selecione Node.js 20.

  5. Em Ponto de entrada, exclua o texto padrão e digite eventsApp

  6. Em Código-fonte, selecione Zip do Cloud Storage.

  7. Em Local do Cloud Storage, clique em Procurar.

  8. Selecione o bucket em que você fez upload do arquivo ZIP quando criou o app.

  9. Clique no arquivo ZIP que você enviou.

  10. Clique em Selecionar.

  11. Clique em Implantar.

    A página Detalhes do Cloud Functions é aberta e sua função é exibida. com três indicadores de progresso: um para o build, outro para o serviço, e outra para o gatilho. Quando todos os três indicadores de progresso desaparecem e forem substituídas por uma marca de seleção, a função será implantada e estará pronta.

  12. Edite o exemplo de código para definir constantes:

    1. Na página Detalhes da função do Cloud, clique em Editar.
    2. Clique em Próxima.
    3. Em Código-fonte, selecione Editor in-line.
    4. No editor in-line, abra e edite o arquivo env.js:
      1. Defina o valor de project como seu ID do projeto do Google Cloud.
      2. Defina o valor de location como o valor região, como us-central1.
  13. Clique em Implantar.

CLI da gcloud

  1. Na CLI gcloud, se ainda não tiver feito isso, mude para o diretório que contém o código desse conhecimento de IA com o app Google Assistente que você já conhece. clonado do GitHub:

    cd google-chat-samples/node/ai-knowledge-assistant
    
  2. No diretório google-chat-samples/node/ai-knowledge-assistant, adicione o arquivo client_secrets.json que você salvou quando criou credenciais de ID do cliente OAuth para autenticação e autorização.

  3. Edite o arquivo env.js para definir variáveis de ambiente:

    1. Defina o valor de project como o projeto do Cloud ID.
    2. Defina o valor de location como o valor region, como us-central1.
  4. 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 do atributo região para corresponder ao definido no arquivo env.js, como us-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. quando você Configure o app do Chat no console do Google Cloud.

Console do Google Cloud

  1. No console do Google Cloud, acesse Cardápio > Cloud Functions.

    Acesse o Cloud Functions

  2. Na coluna Nome da lista de funções do Cloud, clique em app;

  3. Clique em Gatilho.

  4. Copie o URL.

CLI da gcloud

  1. Descreva a Função do Cloud app:

    gcloud functions describe app
    
  2. Copie a propriedade url.

Configurar o app do Chat no console do Google Cloud

Nesta seção, mostramos como configurar a API Chat no Console do Google Cloud com informações sobre seu app do Chat. incluindo o nome do app do Chat e o URL do gatilho do Cloud do app do Chat Função para enviar eventos de interação do Chat.

  1. No console do Google Cloud, clique em Menu > Mais produtos > Google Workspace > Biblioteca de produtos > API Google Chat > Gerenciar > Configuração.

    Acessar a configuração da API Chat

  2. Em Nome do app, digite AI knowledge assistant.

  3. No URL do avatar, digite https://fonts.gstatic.com/s/i/short-term/release/googlesymbols/live_help/default/24px.svg.

  4. Em Descrição, digite Answers questions with AI.

  5. Clique no botão Ativar recursos interativos para ativar essa opção.

  6. Em Funcionalidade, selecione Participar de espaços e conversas em grupo.

  7. Em Configurações de conexão, selecione URL do app.

  8. Em URL do app, cole o URL do gatilho da função do Cloud app formatado como https://REGION-PROJECT_ID.cloudfunctions.net/app em que REGION é a região da função do Cloud, como us-central1 e PROJECT_ID é o ID do projeto da do Google Cloud que você criou.

  9. Em Visibilidade, selecione Disponibilize este app do Chat para pessoas e grupos específicos na sua Workspace e digite seu endereço de e-mail.

  10. Opcionalmente, em Registros, selecione Registrar erros no Logging.

  11. Clique em Salvar. Será exibida uma mensagem de configuração salva, O app do Chat é prontos para serem testados.

Teste o app do Chat

Teste o app Chat, que é assistente de conhecimento sobre IA, em um Espaço do Chat com mensagens fazendo perguntas que a IA O app Assistente de conhecimento do Chat pode responder.

Estas são algumas maneiras de testar o assistente de conhecimento sobre IA App Chat:

  • Adicione o app Chat, assistente de conhecimento de IA, a uma espaço do Chat e fazer perguntas relevantes para nesse espaço.
  • Crie um espaço do Chat e poste algumas mensagens para usar como uma fonte de dados. As mensagens podem vir de Gemini com um comando como Answer 20 common onboarding questions employees ask their teams. Ou cole alguns parágrafos da guia de visão geral do desenvolvimento com o Chat e depois faça perguntas sobre isso.

Para este tutorial, vamos criar um espaço do Chat e colar alguns parágrafos do desenvolver com o Chat.

  1. Abra o Google Chat.

    Acessar o Google Chat

  2. Criar um espaço do Chat:

    1. Clique em New Chat. > Criar um espaço.

    2. Em Nome do espaço, digite Testing AI knowledge assistant app.

    3. Em O que este espaço serve para?, selecione Colaboração.

    4. Em Configurações de acesso, escolha quem pode acessar o espaço.

    5. Clique em Criar.

  3. Adicione mensagens para usar como fonte de dados:

    1. Em um navegador da Web, acesse a desenvolver com a visão geral do Chat guia.

    2. Copie e cole o conteúdo do guia no espaço do Chat que você criou.

  4. Adicione o app Chat, assistente de conhecimento sobre IA:

    1. Na barra de escrita da mensagem, digite @AI knowledge assistant e, no menu de sugestões que aparecer, selecione o assistente de conhecimento de IA Chat e pressione enter.

    2. Será exibida uma mensagem perguntando se você quer adicionar o assistente de informações de IA App do Chat no espaço. Clique em Adicionar ao espaço.

    3. Se esta for a primeira vez que você adiciona o app do Chat para um espaço, é necessário configurar a autenticação e a autorização do App Chat:

      1. Clique em Configurar.
      2. Uma nova janela ou guia do navegador será aberta para você escolher um Conta do Google. Escolha a conta que será usada no teste.
      3. Analisar as permissões do assistente de conhecimento de IA Solicitações de apps do Chat. Para concedê-las, clique em Permitir.
      4. Será exibida a mensagem You may close this page now.. Feche a janela ou guia do navegador e volte para Espaço do Chat.
  5. Faça uma pergunta:

    1. Na barra de escrita da mensagem, digite uma pergunta como: What are Google Chat apps?

    2. O app Chat, assistente de conhecimento de IA, responde.

    3. Opcionalmente, se a resposta não for precisa ou suficiente, para ajudar os melhorar o histórico da conversa, clicar Receba ajuda. O app Chat assistente de conhecimento de IA menciona um administrador do espaço e pede para ele responder à pergunta. Da próxima vez, o O app Assistente de conhecimento de IA do Chat saberá a resposta!

Considerações, opções alternativas de arquitetura e próximas etapas

Nesta seção, analisamos outras maneiras como o Assistente de conhecimento de IA É possível criar um app de chat.

Firestore, Cloud Storage ou chamar List Messages na API Chat

Neste tutorial, recomendamos armazenar dados de espaço do Chat, como em um banco de dados do Firestore porque ele melhora o desempenho chamando o método list no Message recurso com a API Chat sempre que O app do Chat responde a uma pergunta. Além disso, chamar list messages repetidamente pode fazer com que App do Chat atingir os limites de cota da API.

No entanto, se o histórico de conversas de um espaço do Chat se tornar muito tempo, o uso do Firestore pode se tornar caro.

Cloud Storage. é uma alternativa ao Firestore. Cada espaço em que o assistente de conhecimento de IA O app do Chat está ativo em recebe um objeto próprio, e cada objeto é um arquivo de texto que contém todas as mensagens no espaço. A vantagem da abordagem é permitir que o conteúdo completo do arquivo de texto seja IA com o Gemini de uma só vez, mas a desvantagem é que é preciso mais trabalho para atualize o histórico de conversas porque não é possível anexar a um objeto no Cloud Storage, basta fazer a substituição. Essa abordagem não faz sentido se você regularmente atualizar o histórico de mensagens, mas seria uma boa opção se você executasse o histórico de mensagens periodicamente, por exemplo, uma vez por semana.

Resolver problemas

Quando um app ou card retornar um erro, o A interface do chat mostra a mensagem "Algo deu errado". ou "Não foi possível processar sua solicitação". Às vezes, a interface do Chat não exibe nenhuma mensagem de erro, mas o app do Chat ou produz um resultado inesperado; por exemplo, uma mensagem de cartão pode não aparecer.

Embora uma mensagem de erro possa não aparecer na interface do Chat, mensagens de erro descritivas e dados de registro estão disponíveis para ajudar você a corrigir os erros quando a geração de registros de erros nos apps do Chat está ativada. Para receber ajuda com a visualização, depurar e corrigir erros, consulte Resolver problemas e corrigir erros do Google Chat.

Limpar

Para evitar cobranças na sua conta do Google Cloud pelo recursos usados neste tutorial, recomendamos que você exclua os do Google Cloud.

  1. No console do Google Cloud, acesse a página Gerenciar recursos. Clique em Cardápio > IAM e Administrador > Gerenciar recursos.

    Acessar o Resource Manager

  2. Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
  3. Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo o projeto.