1. Einführung

In diesem Codelab erfahren Sie, wie Sie mit Google Antigravity (im Rest des Dokuments als Antigravity bezeichnet) eine serverlose Anwendung entwerfen, erstellen und in Google Cloud bereitstellen. Wir erstellen eine serverlose und ereignisgesteuerte Dokumentpipeline, die Dateien aus Google Cloud Storage (GCS) aufnimmt, sie mit Cloud Run und Gemini verarbeitet und ihre Metadaten in BigQuery streamt.
Lerninhalte
- Verwendung von Antigravity für die Architekturplanung und das Design
- Infrastruktur als Code (Shell-Skripts) mit einem KI-Agenten generieren
- Cloud Run-Dienst auf Python-Basis erstellen und bereitstellen
- Gemini in Vertex AI für die multimodale Dokumentanalyse einbinden
- End-to-End-Pipeline mit dem Walkthrough-Artefakt von Antigravity überprüfen
Voraussetzungen
- Google Antigravity ist installiert. Wenn Sie Hilfe bei der Installation von Antigravity benötigen und die Grundlagen verstehen möchten, empfehlen wir Ihnen, das Codelab durchzuarbeiten: Erste Schritte mit Google Antigravity.
- Google Cloud-Projekt mit aktivierter Abrechnungsfunktion
- gcloud CLI ist installiert und authentifiziert.
2. Überblick über die App
Bevor wir uns mit der Architektur und Implementierung der Anwendung mit Antigravity befassen, skizzieren wir zuerst die Anwendung, die wir erstellen möchten.
Wir möchten eine serverlose und ereignisgesteuerte Dokumentpipeline erstellen, die Dateien aus Google Cloud Storage (GCS) aufnimmt, sie mit Cloud Run und Gemini verarbeitet und ihre Metadaten in BigQuery streamt.
Ein allgemeines Architekturdiagramm für diese Anwendung könnte so aussehen:

Das muss nicht genau sein. Antigravity kann uns helfen, die Details der Architektur im Laufe der Zeit zu ermitteln. Es ist jedoch hilfreich, eine Vorstellung davon zu haben, was Sie erstellen möchten. Je detaillierter Sie sind, desto bessere Ergebnisse erhalten Sie von Antigravity in Bezug auf Architektur und Code.
3. Architektur planen
Wir können jetzt mit der Planung der Architekturdetails mit Antigravity beginnen.
Antigravity eignet sich hervorragend für die Planung komplexer Systeme. Anstatt sofort Code zu schreiben, können wir zuerst die allgemeine Architektur definieren.
Prüfen Sie zuerst, ob Sie sich im Agent Manager befinden. Wenn Sie Antigravity gerade geöffnet haben, können Sie entweder in der Mitte auf die Schaltfläche Open Agent Manager klicken oder Sie sehen dieselbe Schaltfläche Open Agent Manager oben rechts.
Im Agent Manager können Sie einen Arbeitsbereich öffnen oder einfach die Playground-Umgebung verwenden, einen unabhängigen Arbeitsbereich für schnelle Prototypen und Experimente. Beginnen wir mit der Playground-Umgebung.
Klicken Sie auf die Schaltfläche +, um eine neue Unterhaltung in der Playground-Umgebung zu starten:

Dadurch wird eine Oberfläche aufgerufen, auf der Sie den Prompt wie unten gezeigt eingeben können:

Klicken Sie rechts oben auf das Symbol für die Einstellungen ⚙️ und legen Sie unter Artifact die Option Review Policy auf Asks for Review und unter Terminal die Option Terminal Command Auto Execution auf Request Review fest. So können Sie in jedem Schritt den Plan überprüfen und genehmigen, bevor der Agent ihn ausführt.
Prompt
Jetzt können wir Antigravity unseren ersten Prompt geben.
Prüfen Sie zuerst, ob sich Antigravity im Modus Planning befindet. Wählen Sie für das Modell Gemini Pro (High) aus. Sie können aber auch mit anderen Modellen experimentieren.
Geben Sie den folgenden Prompt ein und klicken Sie auf die Schaltfläche „Senden“:
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.
Aufgabenliste und Implementierungsplan
Antigravity analysiert Ihre Anfrage und generiert eine Aufgabenliste und einen Implementierungsplan.
Dieser Plan enthält folgende Informationen:
- Infrastruktur: GCS-Bucket, Pub/Sub-Thema, BigQuery-Dataset
- Prozessor: Python/Flask-App, Dockerfile, Anforderungen
- Integration: GCS-Benachrichtigungen → Pub/Sub → Cloud Run
Die Ausgabe sollte in etwa so aussehen:

Klicken Sie in der Zeile Task auf die Schaltfläche Open. Daraufhin sollten Sie eine Reihe von Aufgaben sehen, die von Antigravity erstellt wurden. Der Agent geht sie einzeln durch:

Als Nächstes überprüfen Sie den Implementierungsplan und erteilen dem Agenten die Berechtigung, fortzufahren.
Klicken Sie auf den Implementierungsplan, um die Details aufzurufen. Lesen Sie ihn sorgfältig durch. Hier haben Sie die Möglichkeit, Feedback zur Implementierung zu geben. Sie können auf einen beliebigen Teil des Implementierungsplans klicken und Kommentare hinzufügen. Nachdem Sie Kommentare hinzugefügt haben, senden Sie alle Änderungen zur Überprüfung ein, die Sie vornehmen möchten, insbesondere in Bezug auf die Benennung, die Google Cloud-Projekt-ID, die Region usw.
Wenn alles in Ordnung ist, erteilen Sie dem Agenten die Berechtigung, mit dem Implementierungsplan fortzufahren. Klicken Sie dazu auf die Schaltfläche Proceed.
4. Anwendung generieren
Sobald der Plan genehmigt wurde, generiert Antigravity die für die Anwendung erforderlichen Dateien, von Bereitstellungsskripts bis hin zum Anwendungscode.
Antigravity erstellt einen Ordner und beginnt mit der Erstellung der für das Projekt erforderlichen Dateien. In unserem Beispiel haben wir Folgendes gesehen:

Es wird eine Shell-Skriptdatei mit dem Namen setup.sh oder einem ähnlichen Namen generiert, die die Ressourcenerstellung automatisiert. Sie übernimmt folgende Aufgaben:
- Aktivieren von APIs (
run,pubsub,bigquery,storage) - Erstellen des Google Cloud Storage-Buckets (
doc-ingestion-{project-id}) - Erstellen des BigQuery-Datasets und der BigQuery-Tabelle (
pipeline_data.processed_docs) - Konfigurieren von Pub/Sub-Themen und ‑Benachrichtigungen
Der Agent sollte eine Python-Anwendung (main.py) generieren, die auf Pub/Sub-Push-Nachrichten wartet. Dabei wird eine simulierte OCR-Logik verwendet, die zufällige Wortzahlen und Tags generiert und in BigQuery speichert.
Sobald dieses Einrichtungsskript generiert wurde, sollte Antigravity Sie auffordern, das Skript in Ihrem Namen auszuführen. Unten sehen Sie ein Beispiel für einen Bildschirm:

Klicken Sie nach Bedarf auf Accept.
Das Bereitstellungsskript erstellt die Ressourcen und prüft, ob sie erstellt wurden. Wenn die Prüfung erfolgreich ist, wird der Container erstellt und als Dienst in main.py in Cloud Run bereitgestellt. Unten sehen Sie ein Beispiel für eine Ausgabe:

Im Rahmen der Bereitstellung des Dienstes werden auch Pub/Sub-Abos und andere Komponenten eingerichtet, die für die Funktion dieser Pipeline erforderlich sind. Das sollte einige Minuten dauern.
In der Zwischenzeit können Sie oben links zu Inbox wechseln und die Pending-Aufgaben prüfen, die auf Ihre Eingabe warten:

So können Sie sicherstellen, dass Sie Aufgaben genehmigen, wenn der Agent um Ihr Feedback bittet.
5. Anwendung überprüfen
Sobald die Pipeline bereitgestellt wurde, prüft Antigravity, ob die Anwendung tatsächlich funktioniert. Antigravity automatisiert diesen Vorgang mit Überprüfungsschritten in der Aufgabenliste. Unten sehen Sie ein Beispiel für einen Bildschirm:

Es wird ein Testartefakt (test.txt) erstellt, das in den Google Cloud Storage-Bucket hochgeladen werden soll. Klicken Sie auf Accept, um fortzufahren.
Wenn Sie weitere Tests selbst ausführen möchten, können Sie versuchen, eine Beispieldatei in den Cloud Storage-Bucket hochzuladen:
gcloud storage cp <some-test-doc>.txt gs://doc-ingestion-{project-id}/
Ergebnisse in BigQuery prüfen
Im Rahmen der Überprüfung wird auch geprüft, ob die Daten in BigQuery gespeichert wurden.

Beachten Sie die SQL-Abfrage, mit der nach den Dokumenten gesucht wurde.
Nach Abschluss der Überprüfung sollte die Aufgabenliste abgeschlossen sein:

Optional: Manuelle Überprüfung
Obwohl Antigravity die Anwendung bereits überprüft hat, können Sie in der Google Cloud Console auch manuell prüfen, ob alle Ressourcen erstellt wurden. Folgen Sie dazu dieser Anleitung.
Cloud Storage
Ziel: Prüfen, ob der Bucket vorhanden ist, und nach hochgeladenen Dateien suchen.
- Rufen Sie Cloud Storage > Buckets auf.
- Suchen Sie den Bucket mit dem Namen
[PROJECT_ID]-doc-uploads. - Klicken Sie auf den Bucket-Namen, um die Dateien zu durchsuchen.
- Prüfen Sie, ob die hochgeladenen Dateien (z.B.
test.txt) angezeigt werden.
Pub/Sub
Ziel: Prüfen, ob das Thema vorhanden ist und ein Push-Abo hat.
- Rufen Sie Pub/Sub > Themen auf.
- Suchen Sie nach doc-processing-topic.
- Klicken Sie auf die Themen-ID.
- Scrollen Sie nach unten zum Tab Abos.
- Prüfen Sie, ob doc-processing-sub mit dem Zustellungstyp "Push" aufgeführt ist.
Cloud Run
Ziel: Dienststatus und Logs prüfen.
- Rufen Sie Cloud Run auf.
- Klicken Sie auf den Dienst doc-processor.
- Prüfen Sie Folgendes:
- Status: Ein grünes Häkchen zeigt an, dass der Dienst aktiv ist.
- Logs: Klicken Sie auf den Tab „Logs“. Suchen Sie nach Einträgen wie "Processing file: gs://..." und "Successfully processed...".
BigQuery
Ziel: Prüfen, ob die Daten tatsächlich gespeichert sind.
- Rufen Sie BigQuery > SQL-Arbeitsbereich auf.
- Maximieren Sie im Bereich „Explorer“ Ihr Projekt > Dataset „pipeline_data“.
- Klicken Sie auf die Tabelle processed_docs.
- Klicken Sie auf den Tab Vorschau.
- Prüfen Sie, ob Zeilen mit filename, upload_date, tags und word_count angezeigt werden.
Schritt-für-Schritt-Anleitung
Im letzten Schritt generiert Antigravity ein Walkthrough-Artefakt. Dieses Artefakt fasst Folgendes zusammen:
- Vorgenommene Änderungen
- Ausgeführte Überprüfungsbefehle
- Tatsächliche Ergebnisse (Abfrageausgabe mit den von Gemini extrahierten Metadaten)
Klicken Sie auf Open, um es aufzurufen. Unten sehen Sie ein Beispiel für eine Ausgabe:

6. Anwendung kennenlernen
An diesem Punkt haben Sie die grundlegende App bereitgestellt und sie wird ausgeführt. Bevor Sie diese Anwendung weiter erweitern, nehmen Sie sich einen Moment Zeit, um den Code zu untersuchen. Sie können mit der Schaltfläche Open Editor oben rechts zum Editor wechseln.
Hier eine kurze Zusammenfassung der Dateien, die Sie möglicherweise sehen:
setup.sh: Das Hauptskript, das alle Google Cloud-Ressourcen bereitstellt und die erforderlichen APIs aktiviert.main.py: Der Haupteinstiegspunkt der Pipeline. Diese Python-App erstellt einen Webserver, der Pub/Sub-Push-Nachrichten empfängt, die Datei aus GCS herunterlädt, sie „verarbeitet“ (simuliert OCR) und die Metadaten in BigQuery streamt.Dockerfile: Definiert, wie die App in ein Container-Image verpackt wird.requirements.txt: Listet die Python-Abhängigkeiten auf.
Möglicherweise sehen Sie auch andere Skripts und Textdateien, die für Tests und Überprüfungen erforderlich sind.
An diesem Punkt können Sie auch von der Playground-Umgebung zu einem dedizierten Arbeitsbereich/Ordner wechseln. Klicken Sie dazu oben rechts auf die entsprechende Schaltfläche:

Sobald Sie einen Ordner ausgewählt haben, wird der gesamte Code in diesen Ordner verschoben und ein neuer Arbeitsbereich mit dem Ordner und dem Unterhaltungsverlauf erstellt.
7. Anwendung erweitern
Nachdem Sie nun eine funktionierende grundlegende Anwendung haben, können Sie sie weiterentwickeln und erweitern. Hier einige Ideen:
Frontend hinzufügen
Erstellen Sie eine einfache Weboberfläche, um die verarbeiteten Dokumente anzusehen.
Probieren Sie den folgenden Prompt aus: 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
Echte KI/ML einbinden
Verwenden Sie anstelle der simulierten OCR-Verarbeitung Gemini-Modelle, um Text zu extrahieren, zu klassifizieren und zu übersetzen.
- Ersetzen Sie die Dummy-OCR-Logik. Senden Sie das Bild/die PDF-Datei an Gemini, um den tatsächlichen Text und die Daten zu extrahieren. Analysieren Sie den extrahierten Text, um den Dokumenttyp zu klassifizieren (Rechnung, Vertrag, Lebenslauf) oder Entitäten zu extrahieren (Daten, Namen, Orte).
- Erkennen Sie automatisch die Sprache des Dokuments und übersetzen Sie es ins Englische, bevor Sie es speichern. Sie können auch eine andere Sprache verwenden.
Speicher und Analysen verbessern
Sie können Lebenszyklusregeln für den Bucket konfigurieren, um alte Dateien in den Speicher „Coldline“ oder „Archiv“ zu verschieben und so Kosten zu sparen.
Robustheit und Sicherheit
Sie können die App robuster und sicherer machen, z. B. so:
- Dead-Letter-Warteschlangen (DLQ): Aktualisieren Sie das Pub/Sub-Abo, um Fehler zu verarbeiten. Wenn der Cloud Run-Dienst eine Datei fünfmal nicht verarbeiten kann, senden Sie die Nachricht zur manuellen Überprüfung an ein separates Dead-Letter-Thema oder einen separaten Dead-Letter-Bucket.
- Secret Manager: Wenn Ihre App API-Schlüssel oder vertrauliche Konfigurationen benötigt, speichern Sie sie in Secret Manager und greifen Sie sicher von Cloud Run darauf zu, anstatt Strings fest zu codieren.
- Eventarc: Führen Sie ein Upgrade von direktem Pub/Sub auf Eventarc durch, um eine flexiblere Ereignisweiterleitung zu ermöglichen. So können Sie Trigger basierend auf komplexen Audit-Logs oder anderen GCP-Dienstereignissen auslösen.
Natürlich können Sie sich auch eigene Ideen einfallen lassen und Antigravity verwenden, um sie zu implementieren.
8. Fazit
Sie haben mit Google Antigravity in wenigen Minuten eine skalierbare, serverlose, KI-gestützte Dokumentpipeline erstellt. Sie haben Folgendes gelernt:
- Architekturen mit KI planen
- Antigravity anweisen und verwalten, während es die Anwendung generiert, von der Codeerstellung über die Bereitstellung bis hin zur Validierung
- Bereitstellungen und Validierungen mit Walkthroughs überprüfen
Referenzdokumente
- Offizielle Website : https://antigravity.google/
- Dokumentation: https://antigravity.google/docs
- Anwendungsbeispiele : https://antigravity.google/use-cases
- Download : https://antigravity.google/download
- Codelab : Erste Schritte mit Google Antigravity