Integrar conceitos fundamentais de IA aos apps do Google Chat

1. Antes de começar

O que são os apps do Google Chat com IA?

Os apps do Google Chat com IA fazem o seguinte:

  • Transferem seus serviços e recursos para o Google Chat para que os usuários recebam informações e realizem ações sem sair da conversa.
  • Integrar com modelos de IA generativa para criar, pesquisar e editar dados como texto ou imagens.
  • Ofereça uma experiência de agente aplicando conceitos de IA de conversação para interações mais práticas, naturais, sofisticadas e úteis.

Por que integrar os apps do Google Chat à IA?

Os casos de uso típicos se enquadram nas seguintes categorias:

  • Criação e edição de conteúdo. Gere textos de marketing, elabore postagens para redes sociais, produza imagens realistas, escreva músicas ou contribua para a criação de conteúdo em vídeo.
  • Pesquisa e análise de dados. Extraia insights importantes de uma base de conhecimento não estruturada, resuma textos longos, classifique conteúdos ou traduza idiomas com maior precisão e velocidade.
  • Conversa. Participe de conversas naturais, informativas e eficientes como se estivesse falando com um assistente.
  • Automação de tarefas. Realizar ações em nome do usuário, como criar um evento na agenda, enviar um documento ou gerenciar um tíquete em um sistema externo.

A capacidade de integrar esses recursos direto na interface fácil de usar do Google Chat é uma grande oportunidade para quem quer melhorar a experiência e a produtividade dos usuários.

Pré-requisitos

O que você vai criar

Neste codelab, você vai criar oito apps minimalistas do Google Chat que integram conceitos fundamentais de IA para mostrar como eles podem ser aplicados em aplicativos do mundo real. Todos são criados como complementos do Google Workspace e dependem da arquitetura HTTP:

2f1e2c66f6e2e2f0.png

Isso funciona da seguinte maneira:

  1. Um usuário envia uma mensagem no Google Chat para um app de chat, seja como uma mensagem direta ou em um espaço do Chat.
  2. Uma solicitação HTTP é enviada ao servidor da Web em execução como uma função do Google Cloud Run do Node.js que contém a lógica do app de chat.
  3. Opcionalmente, a lógica do app de chat pode ser integrada aos serviços do Google Workspace (como Agenda e Planilhas), a outros Serviços do Google (como Maps, YouTube e Vertex AI) ou a outros serviços da Web (como um sistema de gerenciamento de projetos ou uma ferramenta de tíquetes).
  4. O servidor da Web envia uma resposta HTTP de volta ao serviço do app de chat no Chat.
  5. A resposta é enviada ao usuário.
  6. Opcionalmente, o app de chat pode chamar a API Chat para postar mensagens de forma assíncrona ou realizar outras operações.

Cada função do Cloud Run do Node.js Google do app do Google Chat contém a própria versão dos seguintes arquivos de origem para realizar as ações necessárias nas etapas 3 e 6 acima:

  • package.json: um manifesto central que funciona como um modelo para o projeto Node.js. Ele é usado para definir metadados, dependências e scripts.
  • env.js: um script que define as constantes necessárias para a execução. Ele precisa ser editado com base no ambiente e na configuração.
  • index.js: O script principal que processa a lógica dos eventos de interação do Google Chat. Neste codelab, apenas o tipo de evento de mensagem é implementado, mas normalmente ele incluiria outros tipos, como clique em card, comando de barra e caixa de diálogo em aplicativos da vida real.

App de comandos

Esse app usa um modelo do Gemini para conversar com os usuários em linguagem natural usando respostas concisas e em texto simples.

5975b36968ab597a.gif

App Format

Esse app se baseia no Prompt app ao adicionar suporte a respostas em rich text compatíveis com o formato de texto específico das mensagens do Google Chat.

bc49e0acf0838f28.gif

App Ground

Esse app se baseia no Format app ao adicionar suporte à ferramenta da Pesquisa Google e retornar fontes em mensagens de resposta com cards.

3cf232bf153f6abc.gif

app MCP

Esse app se baseia no Format app ao adicionar suporte ao Protocolo de Contexto de Modelo (MCP) do Google Workspace Developer Assist.

8219c29366e9120e.gif

App multiturno

Este app se baseia no Format app ao adicionar suporte à memória conversacional com um banco de dados do Google Cloud Firestore.

a819c274ce586451.gif

App de ferramenta personalizada

Esse app se baseia no Multi-turn app ao adicionar suporte a uma ferramenta personalizada de chamada de função que chama a API Google Workspace Calendar com base nas informações fornecidas pelo usuário.

a1c4f586b7ab2e24.gif

Transmissão do app

Esse app usa um modelo do Gemini para gerar contos com base em temas fornecidos pelos usuários. A API Google Chat é usada para enviar resultados e status em mensagens à medida que o progresso é feito.

fd347ba03fe86e22.gif

App multimodal

Esse app usa um modelo do Gemini para editar imagens com base em instruções textuais dos usuários. As APIs do Google Chat são usadas para fazer o download e o upload das imagens como anexos de mensagens.

57574be33474bbc.gif

O que você vai aprender

  • Os conceitos fundamentais de IA são relevantes para os apps do Google Chat e para a aplicação deles.
  • Para acessar a Vertex AI usando o SDK de IA Generativa do Google.
  • Usar as APIs do Google Workspace para desenvolver recursos incríveis e eficientes.
  • Para aproveitar o Cloud Run e criar apps escalonáveis do Google Chat.

O que é preciso

  • Já ter concluído o guia de início rápido Criar um app HTTP do Google Chat com Node.js. Este codelab se baseia no projeto na nuvem do Google Cloud, no app de chat do Google Chat e na função do Cloud Run do Google Cloud Run resultantes.

2. Começar a configuração

Inicializar e acessar recursos

Nesta seção, você vai acessar e configurar os seguintes recursos no navegador da Web de sua preferência.

Configuração da API Google Chat

Abra o console do Google Cloud em uma nova guia e siga estas etapas:

  1. Selecione o projeto.
  2. No campo de pesquisa do Google Cloud, procure "API Google Chat", clique em API Google Chat, em Gerenciar e em Configuração.

  1. Defina o Nome do app e a Descrição como Gen AI App.
  2. Clique em Salvar.

9a06649cf9285b99.png

Espaço do Chat

Abra o Google Chat em uma nova guia e siga estas etapas:

  1. Se ainda não tiver feito isso, abra um espaço de mensagem direta com o app de chat.
  2. Digite Hello e pressione enter. O app de chat vai responder com seu nome e imagem de avatar.

e3b195c7b7b8e2af.png

Serviço de função do Cloud Run

Abra o console do Google Cloud em uma nova guia e siga estas etapas:

  1. Selecione o projeto.
  2. Clique em Menu ☰ > Cloud Run > Serviços.

  1. Na lista de serviços, clique em addonchatapp e abra a guia Origem.

b69df34ea0dc48a5.png

Fazer o download do código-fonte e dos recursos no local

  1. Faça o download deste repositório do GitHub.

  1. No ambiente de desenvolvimento local de sua preferência, abra o diretório node/chat/gen-ai-apps.

3c57c15db4ebfddb.png

3. Comando do app

Esse app pede ao Gemini na Vertex AI para conversar com os usuários em linguagem natural usando respostas concisas e em texto simples. A implementação depende do SDK de IA generativa do Google para Node.js.

Revisar conceitos

Linguagem natural

Qualquer linguagem falada ou escrita por humanos para a comunicação cotidiana, em contraste com linguagens artificiais ou de computador.

Cloud Run functions

O Cloud Run functions é ótimo para criar back-ends sem servidor, processar dados em tempo real e criar apps inteligentes. Não há servidores para provisionar, gerenciar, corrigir ou atualizar. Eles têm escalonamento automático, são altamente disponíveis e tolerantes a falhas.

Comandos

Comando é a técnica de criar entradas (comandos) para orientar um modelo de IA generativa a produzir a saída desejada. Isso geralmente envolve formular perguntas com cuidado, fornecer contexto, dar instruções ou exemplos para obter respostas específicas e relevantes do modelo.

Vertex AI

A Vertex AI oferece tudo o que você precisa para criar e usar a IA generativa, como soluções de IA, pesquisa e conversa, mais de 130 modelos de fundação e uma plataforma de IA unificada.

c9e9c7a1945b22ac.png

Gemini

O Gemini é um LLM multimodal do Google que pode ser acessado pela Vertex AI. Essa ferramenta ajuda as pessoas a aproveitar todo o potencial humano para que possam dar asas à imaginação, ampliar a curiosidade e aumentar a produtividade.

SDK de IA generativa do Google

O SDK de IA Generativa do Google foi projetado para que os desenvolvedores criem aplicativos com tecnologia do Gemini. Ele oferece uma interface unificada compatível com a API Gemini Developer e a Vertex AI. Ela vem com bibliotecas de cliente em Python, Go, Node.js e Java.

Fluxo de análise

c625fdcc8b4a27f4.png

Revisar o código-fonte

env.js

...
// Replace with your GCP project ID.
projectID: process.env.PROJECT_ID || 'your-google-cloud-project-id',

// Replace with your GCP project location.
location: process.env.LOCATION || 'your-google-cloud-project-location',

// Replace with the Gemini model to use.
model: process.env.MODEL || 'gemini-2.5-flash-lite',
...

index.js

// Import the Google Gen AI SDK.
import { GoogleGenAI } from '@google/genai';
...
// Use Vertex AI.
const genAI = new GoogleGenAI({vertexai: true, project: env.projectID, location: env.location});

http('gen-ai-app', async (req, res) => {
 // Send a new Chat message with the generated answer
 return res.send({ hostAppDataAction: { chatDataAction: { createMessageAction: { message: {
   text: await generateAnswer(req.body.chat.messagePayload.message.text)
 }}}}});
});

async function generateAnswer(message) {
 // The prompt is made of the user's message and specific instructions for the model.
 const prompt = 'In a consice and with plain text only (no formatting), '
                 + 'answer the following message in the same language: ' + message;
 const aiResponse = await genAI.models.generateContent({model: env.model, contents: prompt});
 return aiResponse.candidates[0].content.parts[0].text;
};
...

package.json

...
"main": "index.js",
"type": "module",
"scripts": {
  "start": "node index.js"
},
"dependencies": {
  "@google-cloud/functions-framework": "^4.0.0",
  "@google/genai": "1.15.0"
},
...

Ative a API Vertex AI

  1. No console do Google Cloud, ative a API Vertex AI:

  1. Clique em Menu ☰ > APIs e serviços > APIs e serviços ativados e confirme se a API Vertex AI está na lista.

Atualizar a função do Node.js no Google Cloud Run

  1. No ambiente de desenvolvimento local, mude o diretório atual para node/chat/gen-ai-apps/1-prompt. Ele contém todo o código-fonte e os recursos.
  2. Abra env.js em um editor e defina o seguinte:
  3. projectID: o ID do seu projeto do Google Cloud. Ele pode ser recuperado na página de boas-vindas do console do Google Cloud.

  1. location: A região do serviço de função do Cloud Run. Ele pode ser recuperado na página de detalhes do serviço de função do Cloud Run.

  1. model: o modelo a ser usado. Consulte todos os modelos disponíveis na documentação da Vertex AI. O modelo definido por padrão é o Flash para uma execução rápida e barata.

6c2fb9f554f53a4a.png

  1. Acesse a guia Origem da página de detalhes do serviço de função do Cloud Run.

  1. Clique em Editar origem.
  2. Defina o Ponto de entrada da função como gen-ai-app.
  3. Clique em , digite env.js e clique em ✔️ para criar o arquivo de origem ausente.
  4. Substitua todo o conteúdo dos arquivos index.js, env.js e package.json pelos do seu ambiente de desenvolvimento local.
  5. Clique em Salvar e reimplantar.
  6. Aguarde a conclusão da implantação da revisão.

487b64f2d3b1a104.png

Testar

  1. No espaço de mensagem direta com o app de chat no Google Chat, digite Hello, how are you? e pressione enter. O app precisa responder de forma concisa em texto simples, conforme nossas instruções no comando.

3cc1fd1de2a9e239.png

  1. No espaço de mensagem direta com o app de chat no Google Chat, digite Bonjour comment allez-vous? e pressione enter. O app precisa responder em francês, conforme nossas instruções no comando.

77010f4ad0bde5da.png

4. Formatar app

Esse app se baseia no Prompt app ao adicionar suporte para respostas em rich text compatíveis com o formato de mensagem de texto do Google Chat. As instruções no comando são atualizadas com uma descrição detalhada das diferentes opções que o modelo pode usar.

Revisar conceitos

Mensagens de texto do Google Chat

As mensagens de texto do Google Chat oferecem várias opções de formatação para que você possa escrever mensagens mais claras e expressivas diretamente na interface do Google Chat. Elas são baseadas em regras específicas de Markdown para aplicar negrito, itálico, tachado, criar hiperlinks etc.

Fluxo de análise

c625fdcc8b4a27f4.png

Revisar o código-fonte

index.js

...
async function generateAnswer(message) {
 // Specify formatting options that are compatible with Google Chat messages
 // https://developers.google.com/workspace/chat/format-messages#format-texts
 const prompt = `Use simple text for concise answers. The only formatting options you can use is to
(1) surround some text with a single star for bold such as *text* for strong