Criar e implantar no Google Cloud com o Antigravity

1. Introdução

fca14bb9f4bb74f4.png

Neste codelab, você vai aprender a usar o Google Antigravity para projetar, criar e implantar um aplicativo sem servidor no Google Cloud. Vamos criar um pipeline de documentos sem servidor e orientado a eventos que ingere arquivos do Google Cloud Storage (GCS), os processa usando o Cloud Run e o Gemini e transmite os metadados para o BigQuery.

O que você vai aprender

  • Como usar o Antigravity para planejamento e design arquitetônico.
  • Gere infraestrutura como código (scripts shell) com um agente de IA.
  • Crie e implante um serviço do Cloud Run baseado em Python.
  • Integrar o Gemini na Vertex AI para análise de documentos multimodais.
  • Verifique o pipeline de ponta a ponta usando o artefato de tutorial do Antigravity.

O que é necessário

2. Visão geral do app

Antes de começar a arquitetar e implementar o aplicativo usando o Antigravity, vamos descrever o aplicativo que queremos criar.

Queremos criar um pipeline de documentos sem servidor e orientado a eventos que ingere arquivos do Google Cloud Storage (GCS), os processe usando o Cloud Run e o Gemini e transmita os metadados para o BigQuery.

Um diagrama de arquitetura de alto nível para esse aplicativo pode ser assim:

3bd519cfab38258d.png

Não precisa ser preciso. O Antigravity pode nos ajudar a descobrir os detalhes da arquitetura ao longo do caminho. No entanto, é útil ter uma ideia do que você quer criar. Quanto mais detalhes você fornecer, melhores serão os resultados da Antigravity em termos de arquitetura e código.

3. Planejar a arquitetura

Agora podemos começar a planejar os detalhes da arquitetura com o Antigravity.

O Antigravity é excelente para planejar sistemas complexos. Em vez de escrever código imediatamente, podemos começar definindo a arquitetura de alto nível.

Primeiro, verifique se você está no Gerenciador de agentes. Se você acabou de abrir o Antigravidade, clique no botão Open Agent Manager no meio ou no mesmo Open Agent Manager no canto superior direito.

Primeiro, crie uma pasta para o aplicativo, por exemplo, document-pipeline, e adicione-a como um espaço de trabalho no Agent Manager:

6df2bebcee5608b7.png

No Gerenciador de agentes, inicie uma conversa no espaço de trabalho document-pipeline. Verifique se o modo de planejamento também está ativado:

b7d18b5ec36004cf.png

No canto superior direito, clique no ícone de configurações ⚙️ e defina Review Policy em Artifact como Asks for Review e Terminal Command Auto Execution em Terminal como Request Review. Isso garante que, em cada etapa, você possa revisar e aprovar o plano antes da execução pelo agente.

Comando

Agora, podemos dar nosso primeiro comando para o Antigravity.

Primeiro, verifique se o Antigravity está no modo Plan. Para o modelo, vamos usar o Gemini Pro (High), mas você pode testar outros.

Insira o comando a seguir e clique no botão "Enviar":

I want to build a serverless event-driven document processing pipeline on Google Cloud.
Architecture:
- Ingestion: Users upload files to a Cloud Storage bucket.
- Trigger: File uploads trigger a Pub/Sub message.
- Processor: A Python-based Cloud Run service receives the message, processes the file (simulated OCR), and extracts metadata.
- Storage: Stream the metadata (filename, date, tags, word_count) into a BigQuery dataset. 

Lista de tarefas e plano de implementação

O Antigravity vai analisar seu pedido e gerar uma lista de tarefas e um plano de implementação.

Este plano descreve:

  • Infraestrutura: bucket do GCS, tópico do Pub/Sub, conjunto de dados do BigQuery.
  • Processador: app Python/Flask, Dockerfile, requisitos.
  • Integração: notificações do GCS → Pub/Sub → Cloud Run.

O resultado será semelhante ao seguinte:

ada19341c490a570.png

Clique no botão Open ao lado da linha Task. Isso vai mostrar um conjunto de tarefas criadas pelo Antigravity. O agente vai analisar cada uma delas:

19675c55a71b373.png

A próxima etapa é analisar o plano de implementação e dar permissão ao agente para continuar.

Clique no plano de implementação para conferir os detalhes. Leia com atenção. Esta é sua chance de enviar feedback sobre a implementação. Clique em qualquer parte do plano de implementação e adicione comentários. Depois de adicionar alguns comentários, envie para revisão as mudanças que você quer ver, principalmente em relação a nomes, ID do projeto do Google Cloud, região etc.

Quando tudo estiver certo, clique no botão Proceed para dar ao agente permissão para continuar com o plano de implementação.

4. Gerar o aplicativo

Depois que o plano é aprovado, o Antigravity começa a gerar os arquivos necessários para o aplicativo, desde scripts de provisionamento até código do aplicativo.

O Antigravity vai criar uma pasta e começar a criar os arquivos necessários para o projeto. Na nossa execução de amostra, vimos o seguinte:

4d98413e3bd17148.png

Um arquivo de script de shell setup.sh ou com nome semelhante é gerado, o que automatiza a criação de recursos. Ela trabalha com:

  1. Ativação de APIs (run, pubsub, bigquery, storage).
  2. Criar o bucket do Cloud Storage (doc-ingestion-{project-id}).
  3. Criar o conjunto de dados e a tabela do BigQuery (pipeline_data.processed_docs).
  4. Configurar tópicos e notificações do Pub/Sub.

O agente precisa gerar um aplicativo Python (main.py) que detecte mensagens push do Pub/Sub. Ele usa uma lógica de OCR simulada, gerando contagens e tags de palavras aleatórias e persistindo isso no BigQuery.

Depois que esse script de configuração for gerado, o Antigravity vai pedir que você o execute. Confira um exemplo de tela abaixo:

44395ab66413a64f.png

Clique em Accept conforme necessário.

O script de provisionamento vai criar os recursos e validar se eles foram criados. Se a verificação for bem-sucedida, o processo vai criar o contêiner e implantá-lo como um serviço (em main.py) no Cloud Run. Confira um exemplo de saída abaixo:

e0e625e218e7fe46.png

Como parte da implantação do serviço, ele também vai configurar assinaturas do Pub/Sub e outras conexões necessárias para o funcionamento do pipeline. Isso deve levar alguns minutos.

Enquanto isso, mude para Inbox (no canto superior esquerdo) e confira as tarefas Pending que aguardam sua entrada:

ddd2f49d02fad987.png

Essa é uma boa maneira de garantir que você está aprovando as tarefas enquanto o agente busca seu feedback.

5. Verificar o aplicativo

Depois que o pipeline é implantado, o Antigravity verifica se o aplicativo realmente funciona. O Antigravity automatiza isso com etapas de verificação na lista de tarefas. Confira um exemplo de tela abaixo:

b8758b77880cc4d9.png

Ele cria um artefato de teste (test.txt) e quer fazer upload dele para um bucket do Cloud Storage. Clique em Accept para continuar.

Se quiser fazer mais testes por conta própria, tente enviar um arquivo de amostra para o bucket do Cloud Storage:

gcloud storage cp <some-test-doc>.txt gs://doc-ingestion-{project-id}/

Verificar os resultados no BigQuery

Como parte do processo de verificação, ele também vai verificar se os dados foram mantidos no BigQuery.

c0f08fedf671e9bd.png

Observe a consulta SQL usada para verificar os documentos.

Depois da verificação, a lista de tarefas vai aparecer como concluída:

b55ad48a87f95eca.png

Opcional: verificação manual

Mesmo que a Antigravity já tenha verificado o aplicativo, você também pode conferir manualmente no console do Google Cloud se todos os recursos foram criados. Para isso, siga estas etapas.

Cloud Storage

Objetivo: verificar se o bucket existe e se há arquivos enviados.

  1. Acesse Cloud Storage > Buckets.
  2. Localize o bucket chamado [PROJECT_ID]-doc-uploads.
  3. Clique no nome do bucket para procurar arquivos.
  4. Verifique se os arquivos enviados aparecem (por exemplo, test.txt).

Pub/Sub

Objetivo: confirmar se o tópico existe e tem uma assinatura por push.

  1. Navegue até Pub/Sub > Tópicos.
  2. Encontre doc-processing-topic.
  3. Clique no ID do tópico.
  4. Role a tela para baixo até a guia Inscrições.
  5. Verifique se doc-processing-sub está listado com o tipo de entrega "Push".

Cloud Run

Objetivo: verificar o status e os registros do serviço.

  1. Navegue até Cloud Run.
  2. Clique no serviço doc-processor.
  3. Verificar:
  4. Integridade: marca de seleção verde indicando que o serviço está ativo.
  5. Registros: clique na guia "Registros". Procure entradas como "Processando arquivo: gs://..." e "Processado com sucesso...".

BigQuery

Objetivo: validar se os dados estão realmente armazenados.

  1. Acesse BigQuery > Espaço de trabalho SQL.
  2. No painel "Explorador", expanda projeto > conjunto de dados pipeline_data.
  3. Clique na tabela processed_docs.
  4. Clique na guia Visualização.
  5. Verifique: você vai encontrar linhas com filename, upload_date, tags e word_count.

Tutorial

Como etapa final, o Antigravity gera um artefato de tutorial. Este artefato resume:

  • Mudanças feitas.
  • Os comandos de verificação são executados.
  • Resultados reais (saída da consulta mostrando os metadados extraídos pelo Gemini).

Clique em Open para conferir. Confira um exemplo de saída abaixo:

47ecf561d0252924.png

6. Conheça o aplicativo

Neste ponto, você já tem o app básico provisionado e em execução. Antes de se aprofundar na extensão desse aplicativo, reserve um momento para analisar o código. Para mudar para o editor, clique no botão Open Editor no canto superior direito.

Confira um breve resumo dos arquivos que podem aparecer:

  1. setup.sh: o script principal que provisiona todos os recursos do Google Cloud e ativa as APIs necessárias.
  2. main.py: o principal ponto de entrada do pipeline. Esse app Python cria um servidor da Web que recebe mensagens push do Pub/Sub, baixa o arquivo do GCS, o "processa" (simula OCR) e transmite os metadados para o BigQuery.
  3. Dockerfile: define como empacotar o app em uma imagem do contêiner.
  4. requirements.txt: lista as dependências do Python.

Você também pode encontrar outros scripts e arquivos de texto necessários para testes e verificação.

7. Estender o aplicativo

Agora que você tem um aplicativo básico funcionando, pode continuar iterando e estendendo o aplicativo. Confira algumas ideias.

Adicionar um front-end

Crie uma interface da Web simples para visualizar os documentos processados.

Tente o seguinte comando: Create a simple Streamlit or Flask web application that connects to BigQuery. It should display a table of the processed documents (filename, upload_date, tags, word_count) and allow me to filter the results by tag

Integração com IA/ML reais

Em vez de usar o processamento simulado de OCR, use modelos do Gemini para extrair, classificar e traduzir.

  1. Substitua a lógica de OCR fictícia. Envie a imagem/PDF para o Gemini extrair texto e dados reais. Analise o texto extraído para classificar o tipo de documento (fatura, contrato, currículo) ou extrair entidades (datas, nomes, locais).
  2. Detectar automaticamente o idioma do documento e traduzir para inglês antes de armazenar. Você também pode usar qualquer outro idioma.

Melhorar o armazenamento e a análise

É possível configurar regras de ciclo de vida no bucket para mover arquivos antigos para o armazenamento "Coldline" ou "Archive" e economizar custos.

Robustez e segurança

Você pode tornar o app mais robusto e seguro das seguintes maneiras:

  1. Filas de mensagens inativas (DLQ): atualize a assinatura do Pub/Sub para lidar com falhas. Se o serviço do Cloud Run não processar um arquivo cinco vezes, envie a mensagem para um tópico/bucket separado de "Dead Letter" para inspeção humana.
  2. Secret Manager: se o app precisar de chaves de API ou configurações sensíveis, armazene-as no Secret Manager e acesse-as com segurança no Cloud Run em vez de codificar strings.
  3. Eventarc: faça upgrade do Pub/Sub direto para o Eventarc e tenha um roteamento de eventos mais flexível, permitindo acionar com base em registros de auditoria complexos ou outros eventos de serviço do GCP.

É claro que você pode criar suas próprias ideias e usar o Antigravidade para ajudar a implementá-las.

8. Conclusão

Você criou um pipeline de documentos escalonável, sem servidor e com tecnologia de IA em minutos usando o Google Antigravity. Você aprendeu a:

  • Planejar arquiteturas com IA.
  • Instrua e gerencie o Antigravity enquanto ele gera o aplicativo, da geração de código à implantação e validação.
  • Verificar implantações e validação com tutoriais.

Documentos de referência