這兩個 labs 深入探討了多模態 RAG 的核心概念,從文件元數據處理到智慧檢索,再到結合洞察生成的綜合應用。重點在於如何讓 AI 不只是記住資訊,還能理解上下文、處理複雜的視覺資料,並提供準確的答案。

GSP1231 - Multimodal Retrieval Augmented Generation (RAG) using the Gemini API in Vertex AI
GSP520 - Inspect Rich Documents with Gemini Multimodality and Multimodal RAG: Challenge Lab

主要特色

➊ 文件智慧處理:自動提取文字和圖片元數據,建立完整的知識庫
➋ 多模態檢索:同時搜尋文字和圖片內容,提供更全面的資訊檢索
➌ 嵌入技術應用:使用文字和圖片嵌入進行語意相似度計算
➍ RAG 架構實作:建構檢索-生成 pipeline,減少 AI 幻覺問題
➎ 財務文件分析:處理包含表格、圖表的複雜商業文件
➏ 綜合挑戰實作:將多模態洞察和 RAG 技術完整整合

Lab 實作

➊ 建構文件元數據:處理包含文字和圖片的複雜文檔
➋ 文字搜尋實作:基於嵌入的語意搜尋功能
➌ 圖片搜尋應用:使用圖片作為查詢來尋找相似內容
➍ 比較推理任務:分析多個圖片並進行智慧比較
➎ 多模態 RAG pipeline:整合檢索和生成的完整流程
➏ 挑戰任務完成:綜合應用多模態洞察和 RAG 技術

𝕂𝕖𝕖𝕡 𝕝𝕖𝕒𝕣𝕟𝕚𝕟𝕘. 𝕂𝕖𝕖𝕡 𝕙𝕒𝕔𝕜𝕚𝕟𝕘!

實作指令

GSP520-Inspect Rich Documents with Gemini Multimodality and Multimodal RAG: Challenge Lab
GSP520 - Inspect Rich Documents with Gemini Multimodality and Multimodal RAG: Challenge Lab Setup and requirements Install Vertex AI SDK for Python and other dependencies Run the following four cells below before you get to Task 1. Be sure to add your current project ID to the cell titled Define…

實作影片

指令整理

Vertex AI 與生成式 AI 環境設定

此部分設定 GCP 專案的基礎環境變數和啟用必要的 API。這些設定是使用 Gemini 和 RAG 技術的基礎,確保所有 AI 服務都能正常運作。

export PROJECT_ID=$(gcloud config get-value project)
export LOCATION="us-central1"  # Vertex AI 服務區域,影響模型效能和可用性

常見坑點:必須選擇支援 Gemini 2.0 模型的區域
概念連結:這些環境變數是後續所有 AI 模型載入和 API 呼叫的基礎

必要 API 啟用與權限設定

啟用生成式 AI 相關的 GCP 服務是使用 Gemini 多模態能力的先決條件。

# 啟用 Vertex AI API
gcloud services enable aiplatform.googleapis.com

# 啟用生成式 AI 相關服務
gcloud services enable generativeai.googleapis.com

常見坑點:新專案可能需要手動啟用這些 API
概念連結:API 啟用後才能載入 Gemini 模型並進行多模態處理

Cloud Storage 資料準備

多模態 RAG 系統需要大量的訓練和測試資料,此步驟確保系統能存取到所需的文檔和圖片資源。

# 下載測試文檔和圖片資料
gsutil -m rsync -r gs://spls/gsp520 .
gsutil -m rsync -r gs://github-repo/rag/intro_multimodal_rag .

常見坑點:確保服務帳戶有足夠的 Cloud Storage 存取權限
概念連結:資料準備是建構 RAG 系統的基礎,所有後續的嵌入生成和檢索都依賴於此

Gemini 模型初始化

載入適當的 Gemini 模型是進行多模態處理的核心。不同的模型版本提供不同的能力和效能平衡。

# 初始化 Gemini 2.0 Flash 模型
multimodal_model = GenerativeModel("gemini-2.0-flash-001")

# 初始化用於文字嵌入的模型
text_embedding_model = TextEmbeddingModel.from_pretrained("text-embedding-004")

常見坑點:模型名稱和版本必須正確,舊版本可能不支援某些多模態功能
概念連結:模型載入後即可進行文件分析、嵌入生成等多模態任務

RAG 系統組件初始化

設定 RAG 系統的各個組件,包括嵌入模型和向量資料庫的準備。

# 初始化多模態嵌入模型
multimodal_embedding_model = MultiModalEmbeddingModel.from_pretrained("multimodalembedding@001")

常見坑點:確保選擇正確的嵌入模型版本,不同版本的輸出維度可能不同
概念連結:嵌入模型是 RAG 系統進行語意檢索的核心組件

驗證與測試工作流程

確認整個多模態 RAG 系統是否正常運作,這是學習過程中的重要品質把關。

# 檢查 API 狀態和配額
gcloud ai models list --region=$LOCATION

# 驗證 Cloud Storage 存取權限
gsutil ls gs://spls/gsp520/

常見坑點:API 配額可能不足,特別是在密集測試時
概念連結:驗證確保了整個 RAG pipeline 的可靠性和穩定性

注意:GSP520 是 Challenge Lab,其詳細的逐步操作指南請參考獨立的 Challenge Lab 指南文件。照著該指南的步驟執行即可順利完成挑戰任務。

Google Cloud AI Study Jam 2025 學習系列 33