1. บทนำ

ใน Codelab นี้ คุณจะได้เรียนรู้วิธีใช้ Google Antigravity เพื่อออกแบบ สร้าง และทำให้แอปพลิเคชันแบบ Serverless ใช้งานได้ใน Google Cloud โดยเราจะสร้างไปป์ไลน์เอกสารแบบ Serverless และขับเคลื่อนด้วยเหตุการณ์ ซึ่งจะนำเข้าไฟล์จาก Google Cloud Storage (GCS) ประมวลผลไฟล์เหล่านั้นโดยใช้ Cloud Run และ Gemini แล้วสตรีมข้อมูลเมตาของไฟล์ไปยัง BigQuery
สิ่งที่คุณจะได้เรียนรู้
- วิธีใช้ Antigravity ในการวางแผนและออกแบบสถาปัตยกรรม
- สร้างโครงสร้างพื้นฐานเป็นโค้ด (สคริปต์เชลล์) ด้วย AI Agent
- สร้างและทำให้บริการ Cloud Run ที่อิงตาม Python ใช้งานได้
- ผสานรวม Gemini ใน Vertex AI เพื่อการวิเคราะห์เอกสารแบบมัลติโมดัล
- ยืนยันไปป์ไลน์แบบต้นทางถึงปลายทางโดยใช้ Artifact คำแนะนำแบบทีละขั้นของ Antigravity
สิ่งที่คุณต้องมี
- ติดตั้ง Google Antigravity แล้ว หากต้องการความช่วยเหลือในการติดตั้ง Antigravity และทำความเข้าใจพื้นฐาน เราขอแนะนำให้ทำ Codelab เริ่มต้นใช้งาน Google Antigravity ให้เสร็จสมบูรณ์
- โปรเจ็กต์ Google Cloud ที่เปิดใช้การเรียกเก็บเงิน
- gcloud CLI ติดตั้งและตรวจสอบสิทธิ์แล้ว
2. ภาพรวมของแอป
ก่อนที่จะเริ่มออกแบบและใช้แอปพลิเคชันด้วย Antigravity เรามาสรุปแอปพลิเคชันที่เราต้องการสร้างกันก่อน
เราต้องการสร้างไปป์ไลน์เอกสารแบบ Serverless และขับเคลื่อนด้วยเหตุการณ์ ซึ่งจะนำเข้าไฟล์จาก Google Cloud Storage (GCS) ประมวลผลไฟล์เหล่านั้นโดยใช้ Cloud Run และ Gemini แล้วสตรีมข้อมูลเมตาของไฟล์ไปยัง BigQuery
แผนภาพสถาปัตยกรรมระดับสูงสำหรับแอปพลิเคชันนี้อาจมีลักษณะดังนี้

ไม่จำเป็นต้องแม่นยำ Antigravity จะช่วยเราหาข้อมูลรายละเอียดสถาปัตยกรรมไปพร้อมๆ กัน อย่างไรก็ตาม การมีไอเดียเกี่ยวกับสิ่งที่คุณต้องการสร้างจะช่วยได้ ยิ่งคุณให้รายละเอียดได้มากเท่าไร คุณก็จะได้รับผลลัพธ์ที่ดีขึ้นจาก Antigravity ในแง่ของสถาปัตยกรรมและโค้ด
3. วางแผนสถาปัตยกรรม
เราพร้อมที่จะเริ่มวางแผนรายละเอียดสถาปัตยกรรมด้วย Antigravity แล้ว
Antigravity เก่งในการวางแผนระบบที่ซับซ้อน เราสามารถเริ่มจากการกำหนดสถาปัตยกรรมระดับสูงแทนที่จะเขียนโค้ดทันที
ขั้นแรก ตรวจสอบว่าคุณอยู่ใน Agent Manager หากเพิ่งเปิด Antigravity คุณสามารถคลิกปุ่ม Open Agent Manager ตรงกลาง หรือคุณควรเห็นปุ่ม Open Agent Manager เดียวกันที่มุมขวาบน
ขั้นแรก ให้สร้างโฟลเดอร์สำหรับแอปพลิเคชัน เช่น document-pipeline แล้วเพิ่มโฟลเดอร์ดังกล่าวเป็นพื้นที่ทำงานใน Agent Manager ดังนี้

ใน Agent Manager ให้เริ่มการสนทนาในพื้นที่ทำงาน document-pipeline และตรวจสอบว่าได้เปิดใช้โหมดวางแผนแล้วด้วย

ที่มุมขวาบน ให้คลิกไอคอนการตั้งค่า ⚙️ แล้วตั้งค่า Review Policy ในส่วน Artifact เป็น Asks for Review และ Terminal Command Auto Execution ในส่วน Terminal เป็น Request Review การดำเนินการนี้จะช่วยให้คุณได้ตรวจสอบและอนุมัติแผนในทุกขั้นตอนก่อนที่ Agent จะดำเนินการ
พรอมต์
ตอนนี้เราพร้อมที่จะให้พรอมต์แรกแก่ Antigravity แล้ว
ขั้นแรก ให้ตรวจสอบอีกครั้งว่า Antigravity อยู่ในโหมด Plan และสำหรับโมเดล ให้เลือกโมเดล Gemini Pro (High) (แต่คุณสามารถทดลองใช้โมเดลอื่นๆ ได้ตามต้องการ)
ป้อนพรอมต์ต่อไปนี้ แล้วคลิกปุ่มส่ง
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.
รายการงานและแผนการใช้งาน
Antigravity จะวิเคราะห์คำขอของคุณและสร้างรายการงาน และแผนการใช้งาน
แผนนี้จะสรุปข้อมูลต่อไปนี้
- โครงสร้างพื้นฐาน: Bucket ของ GCS, หัวข้อ Pub/Sub, ชุดข้อมูล BigQuery
- ตัวประมวลผล: แอป Python/Flask, Dockerfile, ข้อกำหนด
- การผสานรวม: การแจ้งเตือน GCS → Pub/Sub → Cloud Run
คุณควรเห็นผลลัพธ์ที่คล้ายกับตัวอย่างต่อไปนี้

คลิกปุ่ม Open ข้างแถว Task ซึ่งจะแสดงชุดงานที่ Antigravity สร้างขึ้น โดย Agent จะดำเนินการทีละงานดังนี้

ขั้นตอนถัดไปคือการตรวจสอบแผนการใช้งานและให้สิทธิ์ Agent ดำเนินการต่อ
คลิกแผนการใช้งานเพื่อดูรายละเอียด อ่านรายละเอียดอย่างละเอียด นี่เป็นโอกาสของคุณที่จะแสดงความคิดเห็นเกี่ยวกับการใช้งาน คุณสามารถคลิกส่วนใดก็ได้ของแผนการใช้งานและเพิ่มความคิดเห็น เมื่อเพิ่มความคิดเห็นแล้ว ให้ส่งการเปลี่ยนแปลงที่ต้องการให้ตรวจสอบ โดยเฉพาะอย่างยิ่งเกี่ยวกับการตั้งชื่อ, รหัสโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google, ภูมิภาค และอื่นๆ
เมื่อทุกอย่างดูเรียบร้อยแล้ว ให้สิทธิ์ Agent ดำเนินการตามแผนการใช้งานต่อโดยคลิกปุ่ม Proceed
4. สร้างแอปพลิเคชัน
เมื่อแผนได้รับการอนุมัติ Antigravity จะเริ่มสร้างไฟล์ที่จำเป็นสำหรับแอปพลิเคชัน ตั้งแต่สคริปต์การจัดสรรไปจนถึงโค้ดของแอปพลิเคชัน
Antigravity จะสร้างโฟลเดอร์และเริ่มสร้างไฟล์ที่จำเป็นสำหรับโปรเจ็กต์ ในการเรียกใช้ตัวอย่าง เราเห็นสิ่งต่อไปนี้

ระบบจะสร้างไฟล์สคริปต์ของ Shell ชื่อ setup.sh หรือชื่อที่คล้ายกัน ซึ่งจะทำให้การสร้างทรัพยากรเป็นไปโดยอัตโนมัติ โดยจะจัดการสิ่งต่อไปนี้
- การเปิดใช้ API (
run,pubsub,bigquery,storage) - การสร้าง Bucket ของ Google Cloud Storage (
doc-ingestion-{project-id}) - การสร้างชุดข้อมูลและตาราง BigQuery (
pipeline_data.processed_docs) - การกำหนดค่าหัวข้อและการแจ้งเตือน Pub/Sub
Agent ควรสร้างแอปพลิเคชัน Python (main.py) ที่รอรับข้อความพุช Pub/Sub โดยจะใช้ตรรกะ OCR ที่จำลองขึ้น สร้างจำนวนคำและแท็กแบบสุ่ม แล้วบันทึกข้อมูลดังกล่าวลงใน BigQuery
เมื่อสร้างสคริปต์การตั้งค่านี้แล้ว Antigravity ควรแจ้งให้คุณเรียกใช้สคริปต์ในนามของคุณ หน้าจอตัวอย่างแสดงอยู่ด้านล่าง

คลิก Accept ตามต้องการ
สคริปต์การจัดสรรจะสร้างทรัพยากรและตรวจสอบว่ามีการสร้างทรัพยากรแล้ว หากตรวจสอบสำเร็จ สคริปต์จะดำเนินการสร้างคอนเทนเนอร์และทำให้คอนเทนเนอร์ใช้งานได้เป็นบริการ (ใน main.py) ใน Cloud Run เอาต์พุตตัวอย่างแสดงอยู่ด้านล่าง

การทำให้บริการใช้งานได้จะรวมถึงการตั้งค่าการสมัครใช้บริการ Pub/Sub และการผสานรวมอื่นๆ ที่จำเป็นเพื่อให้ไปป์ไลน์นี้ทำงานได้ การดำเนินการทั้งหมดนี้จะใช้เวลาเพียงไม่กี่นาที
ในระหว่างนี้ คุณสามารถเปลี่ยนไปที่ Inbox (จากมุมซ้ายบน) เพื่อตรวจสอบงาน Pending ที่รอการป้อนข้อมูลจากคุณ

วิธีนี้เป็นวิธีที่ดีในการตรวจสอบว่าคุณอนุมัติงานแล้วเมื่อ Agent ขอความคิดเห็นจากคุณ
5. ยืนยันแอปพลิเคชัน
เมื่อทำให้ไปป์ไลน์ใช้งานได้แล้ว Antigravity จะดำเนินการต่อเพื่อยืนยันว่าแอปพลิเคชันทำงานได้จริง Antigravity จะทำให้การดำเนินการนี้เป็นไปโดยอัตโนมัติด้วยขั้นตอนการยืนยันในรายการงาน หน้าจอตัวอย่างแสดงอยู่ด้านล่าง

ระบบจะสร้าง Artifact ทดสอบ (test.txt) และต้องการอัปโหลดไปยัง Bucket ของ Google Cloud Storage คลิก Accept เพื่อดำเนินการต่อ
หากต้องการทำการทดสอบเพิ่มเติมด้วยตนเอง คุณสามารถลองอัปโหลดไฟล์ตัวอย่างไปยัง Bucket ของ Cloud Storage ได้ดังนี้
gcloud storage cp <some-test-doc>.txt gs://doc-ingestion-{project-id}/
ตรวจสอบผลลัพธ์ใน BigQuery
กระบวนการยืนยันจะรวมถึงการตรวจสอบว่าระบบได้บันทึกข้อมูลลงใน BigQuery แล้ว

โปรดสังเกตข้อความค้นหา SQL ที่ใช้เพื่อตรวจสอบเอกสาร
เมื่อการยืนยันเสร็จสิ้น คุณควรเห็นว่ารายการงานเสร็จสมบูรณ์แล้ว

ไม่บังคับ: การยืนยันด้วยตนเอง
แม้ว่า Antigravity จะยืนยันแอปพลิเคชันแล้ว แต่คุณก็ยังตรวจสอบด้วยตนเองในคอนโซล Google Cloud ได้ว่ามีการสร้างทรัพยากรทั้งหมดแล้วหรือไม่ หากต้องการ ให้ทำตามขั้นตอนต่อไปนี้
Cloud Storage
เป้าหมาย: ยืนยันว่า Bucket มีอยู่และตรวจสอบไฟล์ที่อัปโหลด
- ไปที่ Cloud Storage > Buckets
- ค้นหา Bucket ชื่อ
[PROJECT_ID]-doc-uploads - คลิกชื่อ Bucket เพื่อเรียกดูไฟล์
- ยืนยัน: คุณควรเห็นไฟล์ที่อัปโหลด (เช่น
test.txt)
Pub/Sub
เป้าหมาย: ยืนยันว่าหัวข้อมีอยู่และมีการสมัครใช้บริการแบบพุช
- ไปที่ Pub/Sub > หัวข้อ
- ค้นหาหัวข้อการประมวลผลเอกสาร
- คลิกรหัสหัวข้อ
- เลื่อนลงไปที่แท็บการสมัครใช้บริการ
- ยืนยัน: ตรวจสอบว่า doc-processing-sub แสดงอยู่ในรายการที่มีประเภทการนำส่ง "พุช"
Cloud Run
เป้าหมาย: ตรวจสอบสถานะและบันทึกของบริการ
- ไปที่ Cloud Run
- คลิกบริการ doc-processor
- ยืนยันสิ่งต่อไปนี้
- สถานะ: เครื่องหมายถูกสีเขียวแสดงว่าบริการทำงานอยู่
- บันทึก: คลิกแท็บบันทึก มองหารายการต่างๆ เช่น "กำลังประมวลผลไฟล์: gs://..." และ "ประมวลผล...สำเร็จแล้ว"
BigQuery
เป้าหมาย: ตรวจสอบว่ามีการจัดเก็บข้อมูลจริง
- ไปที่ BigQuery > พื้นที่ทำงาน SQL
- ในบานหน้าต่าง Explorer ให้ขยายโปรเจ็กต์ > ชุดข้อมูล pipeline_data
- คลิกตาราง processed_docs
- คลิกแท็บแสดงตัวอย่าง
- ยืนยัน: คุณควรเห็นแถวที่มีชื่อไฟล์ วันที่อัปโหลด แท็ก และจำนวนคำ
คำแนะนำแบบทีละขั้น
ขั้นตอนสุดท้ายคือ Antigravity จะสร้าง Artifact คำแนะนำแบบทีละขั้น Artifact นี้จะสรุปข้อมูลต่อไปนี้
- การเปลี่ยนแปลงที่ทำ
- คำสั่งการยืนยันที่เรียกใช้
- ผลลัพธ์จริง (เอาต์พุตการค้นหาที่แสดงข้อมูลเมตาที่ Gemini แยกออกมา)
คุณสามารถคลิก Open เพื่อดูผลลัพธ์ เอาต์พุตตัวอย่างแสดงอยู่ด้านล่าง

6. สำรวจแอปพลิเคชัน
ตอนนี้คุณได้จัดสรรและเรียกใช้แอปพื้นฐานแล้ว โปรดใช้เวลาสักครู่เพื่อสำรวจโค้ดก่อนที่จะเจาะลึกเพื่อขยายแอปพลิเคชันนี้เพิ่มเติม คุณสามารถเปลี่ยนไปใช้ตัวแก้ไขได้ด้วยปุ่ม Open Editor ที่มุมขวาบน
ต่อไปนี้เป็นข้อมูลสรุปสั้นๆ เกี่ยวกับไฟล์ที่คุณอาจเห็น
setup.sh: สคริปต์หลักที่จัดสรรทรัพยากร Google Cloud ทั้งหมดและเปิดใช้ API ที่จำเป็นmain.py: จุดแรกเข้าหลักของไปป์ไลน์ แอป Python นี้จะสร้างเว็บเซิร์ฟเวอร์ที่รับข้อความพุช Pub/Sub ดาวน์โหลดไฟล์จาก GCS "ประมวลผล" (จำลอง OCR) ไฟล์ดังกล่าว และสตรีมข้อมูลเมตาไปยัง BigQueryDockerfile: กำหนดวิธีแพ็กเกจแอปเป็นอิมเมจคอนเทนเนอร์requirements.txt: แสดงรายการการอ้างอิง Python
นอกจากนี้ คุณยังอาจเห็นสคริปต์และไฟล์ข้อความอื่นๆ ที่จำเป็นสำหรับการทดสอบและการยืนยัน
7. ขยายแอปพลิเคชัน
ตอนนี้คุณมีแอปพลิเคชันพื้นฐานที่ใช้งานได้แล้ว คุณสามารถทำซ้ำและขยายแอปพลิเคชันต่อไปได้ ต่อไปนี้เป็นไอเดียบางส่วน
เพิ่มฟรอนท์เอนด์
สร้างอินเทอร์เฟซเว็บที่ใช้งานง่ายเพื่อดูเอกสารที่ประมวลผลแล้ว
ลองใช้พรอมต์ต่อไปนี้ 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
ผสานรวมกับ AI/ML จริง
ใช้โมเดล Gemini เพื่อแยก วิเคราะห์ และแปลแทนการประมวลผล OCR ที่จำลองขึ้น
- แทนที่ตรรกะ OCR ดัมมี ส่งรูปภาพ/PDF ไปยัง Gemini เพื่อแยกข้อความและข้อมูลจริง วิเคราะห์ข้อความที่แยกออกมาเพื่อจัดประเภทประเภทเอกสาร (ใบแจ้งหนี้ สัญญา ประวัติย่อ) หรือแยกเอนทิตี (วันที่ ชื่อ สถานที่)
- ตรวจหาภาษาของเอกสารโดยอัตโนมัติและแปลเป็นภาษาอังกฤษก่อนจัดเก็บ คุณยังใช้ภาษาอื่นๆ ได้ด้วย
เพิ่มประสิทธิภาพพื้นที่เก็บข้อมูลและการวิเคราะห์
คุณสามารถกำหนดค่ากฎวงจรการใช้งานใน Bucket เพื่อย้ายไฟล์เก่าไปยังพื้นที่เก็บข้อมูล "Coldline" หรือ "Archive" เพื่อประหยัดค่าใช้จ่าย
ความทนทานและความปลอดภัย
คุณสามารถทำให้แอปมีความทนทานและปลอดภัยมากขึ้นได้ เช่น
- คิวข้อความที่ส่งไม่ได้ (DLQ): อัปเดตการสมัครใช้บริการ Pub/Sub เพื่อจัดการกับความล้มเหลว หากบริการ Cloud Run ประมวลผลไฟล์ไม่สำเร็จ 5 ครั้ง ให้ส่งข้อความไปยังหัวข้อ/Bucket "ข้อความที่ส่งไม่ได้" แยกต่างหากเพื่อให้เจ้าหน้าที่ตรวจสอบ
- Secret Manager: หากแอปของคุณต้องใช้คีย์ API หรือการกำหนดค่าที่ละเอียดอ่อน ให้จัดเก็บไว้ใน Secret Manager และเข้าถึงอย่างปลอดภัยจาก Cloud Run แทนที่จะฮาร์ดโค้ดสตริง
- Eventarc: อัปเกรดจาก Pub/Sub โดยตรงเป็น Eventarc เพื่อการกำหนดเส้นทางเหตุการณ์ที่ยืดหยุ่นมากขึ้น ซึ่งช่วยให้คุณทริกเกอร์ตามบันทึกการตรวจสอบที่ซับซ้อนหรือเหตุการณ์บริการ GCP อื่นๆ ได้
แน่นอนว่าคุณสามารถคิดไอเดียของคุณเองและใช้ Antigravity เพื่อช่วยคุณนำไอเดียเหล่านั้นไปใช้ได้
8. บทสรุป
คุณสร้างไปป์ไลน์เอกสารที่ปรับขนาดได้ แบบ Serverless และทำงานด้วยระบบ AI ได้สำเร็จภายในไม่กี่นาทีโดยใช้ Google Antigravity โดยคุณได้เรียนรู้วิธีการต่อไปนี้
- วางแผนสถาปัตยกรรมด้วย AI
- สั่งการและจัดการ Antigravity ขณะที่สร้างแอปพลิเคชันตั้งแต่การสร้างโค้ดไปจนถึงการทำให้ใช้งานได้และการตรวจสอบ
- ยืนยันการทำให้ใช้งานได้และการตรวจสอบด้วยคำแนะนำแบบทีละขั้น
เอกสารอ้างอิง
- เว็บไซต์อย่างเป็นทางการ : https://antigravity.google/
- เอกสารประกอบ: https://antigravity.google/docs
- กรณีการใช้งาน : https://antigravity.google/use-cases
- ดาวน์โหลด : https://antigravity.google/download
- Codelab : เริ่มต้นใช้งาน Google Antigravity