สร้างและติดตั้งใช้งานใน Google Cloud ด้วย Antigravity

1. บทนำ

fca14bb9f4bb74f4.png

ในโค้ดแล็บนี้ คุณจะได้เรียนรู้วิธีใช้ Google Antigravity (ต่อไปนี้จะเรียกว่า Antigravity ในเอกสารนี้) เพื่อออกแบบ สร้าง และติดตั้งใช้งานแอปพลิเคชันแบบไม่มีเซิร์ฟเวอร์ใน Google Cloud เราจะสร้างไปป์ไลน์เอกสารแบบ Serverless และแบบอิงตามเหตุการณ์ซึ่งจะนำเข้าไฟล์จาก Google Cloud Storage (GCS) ประมวลผลโดยใช้ Cloud Run และ Gemini แล้วสตรีมข้อมูลเมตาไปยัง BigQuery

สิ่งที่คุณจะได้เรียนรู้

  • วิธีใช้ Antigravity ในการวางแผนและออกแบบสถาปัตยกรรม
  • สร้างโครงสร้างพื้นฐานเป็นโค้ด (สคริปต์เชลล์) ด้วย Agent AI
  • สร้างและทำให้บริการ Cloud Run ที่ใช้ Python ใช้งานได้
  • ผสานรวม Gemini บน Vertex AI เพื่อวิเคราะห์เอกสารหลายรูปแบบ
  • ยืนยันไปป์ไลน์ตั้งแต่ต้นจนจบโดยใช้สิ่งประดิษฐ์แบบวอล์กทรูของ Antigravity

สิ่งที่คุณต้องมี

  • ติดตั้ง Google Antigravity แล้ว หากต้องการความช่วยเหลือในการติดตั้ง Antigravity และทำความเข้าใจพื้นฐาน ขอแนะนำให้ทำ Codelab การเริ่มต้นใช้งาน Google Antigravity ให้เสร็จสมบูรณ์
  • โปรเจ็กต์ Google Cloud ที่เปิดใช้การเรียกเก็บเงิน
  • ติดตั้งและตรวจสอบสิทธิ์ gcloud CLI แล้ว

2. ภาพรวมของแอป

ก่อนที่จะไปดูการออกแบบและติดตั้งใช้งานแอปพลิเคชันโดยใช้ Antigravity เรามาสรุปแอปพลิเคชันที่เราต้องการสร้างกันก่อน

เราต้องการสร้างไปป์ไลน์เอกสารแบบ Serverless และแบบอิงตามเหตุการณ์ซึ่งจะนำเข้าไฟล์จาก Google Cloud Storage (GCS) ประมวลผลโดยใช้ Cloud Run และ Gemini แล้วสตรีมข้อมูลเมตาไปยัง BigQuery

แผนภาพสถาปัตยกรรมระดับสูงสำหรับแอปพลิเคชันนี้อาจมีลักษณะดังนี้

3bd519cfab38258d.png

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

3. วางแผนสถาปัตยกรรม

เราพร้อมที่จะเริ่มวางแผนรายละเอียดสถาปัตยกรรมกับ Antigravity แล้ว

Antigravity เชี่ยวชาญด้านการวางแผนระบบที่ซับซ้อน แทนที่จะเขียนโค้ดทันที เราสามารถเริ่มต้นด้วยการกำหนดสถาปัตยกรรมระดับสูง

ก่อนอื่น ให้ตรวจสอบว่าคุณอยู่ใน Agent Manager หากเพิ่งเปิด Antigravity คุณสามารถคลิกปุ่ม Open Agent Manager ตรงกลางหรือคุณควรเห็นปุ่ม Open Agent Manager เดียวกันที่มุมขวาบน

ใน Agent Manager คุณมีตัวเลือกในการเปิดพื้นที่ทำงานหรือใช้ Playground ซึ่งเป็นพื้นที่ทำงานอิสระสำหรับการสร้างต้นแบบและการทดลองอย่างรวดเร็ว มาเริ่มกันที่ Playground

คลิกปุ่ม + เพื่อเริ่มการสนทนาใหม่ใน Playground

4e33c028a604a375.png

ซึ่งจะแสดงอินเทอร์เฟซที่คุณสามารถระบุพรอมต์ได้ดังที่แสดงด้านล่าง

fbf023e84f0eb3b2.png

คลิกไอคอนการตั้งค่า ⚙️ ที่มุมขวาบน แล้วตั้งค่า Review Policy ในส่วน Artifact และ Terminal Command Auto Execution ในส่วน Terminal เป็น Request Review ซึ่งจะช่วยให้คุณตรวจสอบและอนุมัติแผนได้ในทุกขั้นตอนก่อนที่ตัวแทนจะดำเนินการ

พรอมต์

ตอนนี้เราพร้อมที่จะป้อนพรอมต์แรกให้กับ Antigravity แล้ว

ก่อนอื่น ให้ตรวจสอบว่า Antigravity อยู่ในโหมด Planning และสำหรับโมเดล ให้เลือกโมเดล 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 จะวิเคราะห์คำขอของคุณและสร้างรายการงานและแผนการติดตั้งใช้งาน

แผนนี้ระบุรายละเอียดต่อไปนี้

  • โครงสร้างพื้นฐาน: ถัง GCS, หัวข้อ Pub/Sub, ชุดข้อมูล BigQuery
  • โปรเซสเซอร์: แอป Python/Flask, Dockerfile, ข้อกำหนด
  • การผสานรวม: การแจ้งเตือน GCS → Pub/Sub → Cloud Run

คุณควรเห็นข้อมูลที่มีลักษณะคล้ายด้านล่าง

ada19341c490a570.png

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

19675c55a71b373.png

ขั้นตอนถัดไปคือการตรวจสอบแผนการติดตั้งใช้งานและให้สิทธิ์แก่ตัวแทนเพื่อดำเนินการต่อ

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

เมื่อทุกอย่างเรียบร้อยดีแล้ว ให้สิทธิ์ตัวแทนดำเนินการตามแผนการติดตั้งใช้งานโดยคลิกปุ่ม Proceed

4. สร้างแอปพลิเคชัน

เมื่อได้รับอนุมัติแผนแล้ว Antigravity จะเริ่มสร้างไฟล์ที่จำเป็นสำหรับการสมัคร ตั้งแต่สคริปต์การจัดสรรไปจนถึงโค้ดแอปพลิเคชัน

Antigravity จะสร้างโฟลเดอร์และเริ่มสร้างไฟล์ที่จำเป็นสำหรับโปรเจ็กต์ ในการทดสอบตัวอย่าง เราเห็นสิ่งต่อไปนี้

4d98413e3bd17148.png

ระบบจะสร้างไฟล์สคริปต์เชลล์ setup.sh หรือไฟล์ที่มีชื่อคล้ายกัน ซึ่งจะทำให้การสร้างทรัพยากรเป็นไปโดยอัตโนมัติ โดยจะจัดการสิ่งต่อไปนี้

  1. การเปิดใช้ API (run, pubsub, bigquery, storage)
  2. สร้างที่เก็บข้อมูล Google Cloud Storage (doc-ingestion-{project-id})
  3. การสร้างชุดข้อมูลและตาราง BigQuery (pipeline_data.processed_docs)
  4. การกำหนดค่าหัวข้อและการแจ้งเตือน Pub/Sub

เอเจนต์ควรสร้างแอปพลิเคชัน Python (main.py) ที่รอรับข้อความแบบพุชของ Pub/Sub โดยใช้ตรรกะ OCR จำลอง สร้างจำนวนคำและแท็กแบบสุ่ม แล้วบันทึกลงใน BigQuery

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

44395ab66413a64f.png

คลิก Accept ได้ตามต้องการ

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

e0e625e218e7fe46.png

นอกจากนี้ ในการติดตั้งใช้งานบริการ ระบบจะตั้งค่าการสมัครใช้บริการ Pub/Sub และส่วนประกอบอื่นๆ ที่จำเป็นต่อการทำงานของไปป์ไลน์นี้ด้วย การดำเนินการทั้งหมดนี้จะใช้เวลาเพียงไม่กี่นาที

ในระหว่างนี้ คุณสามารถเปลี่ยนไปใช้ Inbox (จากมุมซ้ายบน) และตรวจสอบงาน Pending ที่รอข้อมูลจากคุณได้

ddd2f49d02fad987.png

วิธีนี้เป็นวิธีที่ดีในการตรวจสอบว่าคุณอนุมัติงานเมื่อตัวแทนขอความคิดเห็นจากคุณ

5. ยืนยันแอปพลิเคชัน

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

b8758b77880cc4d9.png

สร้างอาร์ติแฟกต์การทดสอบ (test.txt) และต้องการอัปโหลดไปยังที่เก็บข้อมูล Google Cloud Storage คลิก Accept เพื่อดำเนินการต่อ

หากต้องการเรียกใช้การทดสอบเพิ่มเติมด้วยตนเอง คุณสามารถดูคำแนะนำจากขั้นตอนการตรวจสอบของ Antigravity ซึ่งใช้ยูทิลิตี gsutil เพื่ออัปโหลดไฟล์ตัวอย่างไปยังที่เก็บข้อมูล Cloud Storage ตัวอย่างคำสั่งแสดงอยู่ด้านล่าง

gsutil cp <some-test-doc>.txt gs://<bucket-name>/

ตรวจสอบผลลัพธ์ใน BigQuery

ในกระบวนการยืนยัน ระบบจะตรวจสอบด้วยว่าข้อมูลได้รับการบันทึกใน BigQuery แล้ว

c0f08fedf671e9bd.png

จดบันทึกการค้นหา SQL ที่ใช้เพื่อตรวจสอบเอกสาร

เมื่อยืนยันตัวตนเสร็จแล้ว คุณควรเห็นว่ารายการงานเสร็จสิ้นแล้ว ดังนี้

b55ad48a87f95eca.png

ไม่บังคับ: การยืนยันด้วยตนเอง

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

Cloud Storage

เป้าหมาย: ตรวจสอบว่ามีที่เก็บข้อมูลอยู่และตรวจสอบไฟล์ที่อัปโหลด

  1. ไปที่ Cloud Storage > ที่เก็บข้อมูล
  2. ค้นหาที่เก็บข้อมูลชื่อ [PROJECT_ID]-doc-uploads
  3. คลิกชื่อที่เก็บข้อมูลเพื่อเรียกดูไฟล์
  4. ยืนยัน: คุณควรเห็นไฟล์ที่อัปโหลด (เช่น test.txt)

Pub/Sub

เป้าหมาย: ยืนยันว่ามีหัวข้อและมีการสมัครใช้บริการแบบพุช

  1. ไปที่ Pub/Sub > หัวข้อ
  2. ค้นหา doc-processing-topic
  3. คลิกรหัสหัวข้อ
  4. เลื่อนลงไปที่แท็บการติดตาม
  5. ยืนยัน: ตรวจสอบว่า doc-processing-sub แสดงอยู่โดยมีประเภทการนำส่งเป็น "Push"

Cloud Run

เป้าหมาย: ตรวจสอบสถานะและบันทึกของบริการ

  1. ไปที่ Cloud Run
  2. คลิกบริการ doc-processor
  3. ยืนยัน
  4. สถานะ: เครื่องหมายถูกสีเขียวแสดงว่าบริการทำงานอยู่
  5. บันทึก: คลิกแท็บบันทึก มองหารายการต่างๆ เช่น "กำลังประมวลผลไฟล์: gs://..." และ "ประมวลผลสำเร็จแล้ว..."

BigQuery

เป้าหมาย: ตรวจสอบว่ามีการจัดเก็บข้อมูลจริง

  1. ไปที่ BigQuery > พื้นที่ทํางาน SQL
  2. ในบานหน้าต่าง Explorer ให้ขยายโปรเจ็กต์ > ชุดข้อมูล pipeline_data
  3. คลิกตาราง processed_docs
  4. คลิกแท็บแสดงตัวอย่าง
  5. ยืนยัน: คุณควรเห็นแถวที่มี filename, upload_date, tags และ word_count

คำแนะนำแบบทีละขั้น

ในขั้นตอนสุดท้าย Antigravity จะสร้างอาร์ติแฟกต์แบบวอล์กทรู อาร์ติแฟกต์นี้สรุปข้อมูลต่อไปนี้

  • เปลี่ยนแปลงแล้ว
  • เรียกใช้คำสั่งยืนยัน
  • ผลลัพธ์จริง (เอาต์พุตการค้นหาที่แสดงข้อมูลเมตาที่ Gemini แยกออกมา)

คุณคลิก Open เพื่อดูได้ ตัวอย่างเอาต์พุตแสดงอยู่ด้านล่าง

47ecf561d0252924.png

6. สำรวจแอปพลิเคชัน

ตอนนี้คุณได้จัดสรรและเรียกใช้แอปพื้นฐานแล้ว ก่อนที่จะเจาะลึกเพื่อขยายแอปพลิเคชันนี้ต่อไป โปรดใช้เวลาสักครู่เพื่อสำรวจโค้ด คุณเปลี่ยนไปใช้โปรแกรมแก้ไขได้ด้วยปุ่ม Open Editor ที่มุมขวาบน

สรุปโดยย่อเกี่ยวกับไฟล์ที่คุณอาจเห็นมีดังนี้

  1. setup.sh: สคริปต์หลักที่จัดสรรทรัพยากร Google Cloud ทั้งหมดและเปิดใช้ API ที่จำเป็น
  2. main.py: จุดแรกเข้าหลักของไปป์ไลน์ แอป Python นี้สร้างเว็บเซิร์ฟเวอร์ที่รับข้อความพุช Pub/Sub, ดาวน์โหลดไฟล์จาก GCS, "ประมวลผล" (จำลอง OCR) และสตรีมข้อมูลเมตาไปยัง BigQuery
  3. Dockerfile: กำหนดวิธีแพ็กเกจแอปเป็นอิมเมจคอนเทนเนอร์
  4. requirements.txt: แสดงรายการการขึ้นต่อกันของ Python

นอกจากนี้ คุณยังอาจเห็นสคริปต์และไฟล์ข้อความอื่นๆ ที่จำเป็นสำหรับการทดสอบและการยืนยันด้วย

ในขั้นตอนนี้ คุณอาจต้องการย้ายจาก Playground ไปยังพื้นที่ทำงาน/โฟลเดอร์เฉพาะด้วย คุณทำได้โดยคลิกปุ่มที่เกี่ยวข้องที่มุมขวาบน

278de21c89e5c726.png

เมื่อเลือกโฟลเดอร์แล้ว ระบบจะย้ายโค้ดทั้งหมดไปยังโฟลเดอร์นั้น และจะสร้างพื้นที่ทำงานใหม่พร้อมกับโฟลเดอร์และประวัติการสนทนา

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 จำลอง

  1. แทนที่ตรรกะ OCR แบบจำลอง ส่งรูปภาพ/PDF ไปยัง Gemini เพื่อดึงข้อความและข้อมูลจริง วิเคราะห์ข้อความที่ดึงออกมาเพื่อจัดประเภทเอกสาร (ใบแจ้งหนี้ สัญญา ประวัติย่อ) หรือดึงข้อมูลเอนทิตี (วันที่ ชื่อ สถานที่)
  2. ตรวจหาภาษาของเอกสารโดยอัตโนมัติและแปลเป็นภาษาอังกฤษก่อนจัดเก็บ คุณใช้ภาษาอื่นได้ด้วย

ปรับปรุงพื้นที่เก็บข้อมูลและการวิเคราะห์

คุณสามารถกำหนดค่ากฎอายุการใช้งานในที่เก็บข้อมูลเพื่อย้ายไฟล์เก่าไปยังพื้นที่เก็บข้อมูล "Coldline" หรือ "Archive" เพื่อประหยัดค่าใช้จ่าย

ความทนทานและความปลอดภัย

คุณสามารถทำให้แอปมีประสิทธิภาพและปลอดภัยมากขึ้นได้ เช่น

  1. คิวจดหมายที่ส่งไม่ได้ (DLQ): อัปเดตการสมัครใช้บริการ Pub/Sub เพื่อจัดการข้อผิดพลาด หากบริการ Cloud Run ประมวลผลไฟล์ไม่สำเร็จ 5 ครั้ง ให้ส่งข้อความไปยังหัวข้อ/ที่เก็บข้อมูล "Dead Letter" แยกต่างหากเพื่อให้เจ้าหน้าที่ตรวจสอบ
  2. Secret Manager: หากแอปต้องใช้คีย์ API หรือการกำหนดค่าที่ละเอียดอ่อน ให้จัดเก็บไว้ใน Secret Manager และเข้าถึงอย่างปลอดภัยจาก Cloud Run แทนการฮาร์ดโค้ดสตริง
  3. Eventarc: อัปเกรดจาก Pub/Sub โดยตรงเป็น Eventarc เพื่อการกำหนดเส้นทางเหตุการณ์ที่ยืดหยุ่นมากขึ้น ซึ่งจะช่วยให้คุณทริกเกอร์ตามบันทึกการตรวจสอบที่ซับซ้อนหรือเหตุการณ์บริการ GCP อื่นๆ ได้

แน่นอนว่าคุณสามารถคิดไอเดียของคุณเองและใช้ Antigravity เพื่อช่วยคุณนำไอเดียเหล่านั้นไปใช้ได้

8. บทสรุป

คุณสร้างไปป์ไลน์เอกสารที่ทำงานด้วยระบบ AI แบบไร้เซิร์ฟเวอร์ที่ปรับขนาดได้สำเร็จในไม่กี่นาทีโดยใช้ Google Antigravity คุณได้เรียนรู้วิธีต่อไปนี้

  • วางแผนสถาปัตยกรรมด้วย AI
  • สั่งและจัดการ Antigravity ขณะที่ทำงานผ่านการสร้างแอปพลิเคชันตั้งแต่การสร้างโค้ดไปจนถึงการติดตั้งใช้งานและการตรวจสอบ
  • ยืนยันการติดตั้งใช้งานและการตรวจสอบด้วยคำแนะนำแบบทีละขั้นตอน

เอกสารอ้างอิง