本頁面將重點介紹幾個使用 Cloud Run 做為下列 AI 用途主機平台的應用情境:
在 Cloud Run 託管 AI 應用程式
AI 應用程式會使用 AI 模型運作或執行特定工作。 舉例來說,AI 應用程式可以使用 AI 模型產生文件摘要,也可以是聊天介面,使用向量資料庫擷取更多內容。
Cloud Run 是應用程式代管基礎架構之一,可為 AI 應用程式工作負載提供全代管環境。
Cloud Run 可與 Gemini API、Vertex AI 端點等 AI 模型整合,或與啟用 GPU 的 Cloud Run 服務上代管的模型整合。
Cloud Run 也與 PostgreSQL 適用的 Cloud SQL 和 PostgreSQL 適用的 AlloyDB 整合,這兩個資料庫都提供 pgvector
擴充功能,可供檢索增強生成 (RAG) 使用。
在 Cloud Run 上託管 AI 代理程式
AI 代理程式結合了進階 AI 模型的智慧,並可存取工具,代表使用者採取行動,且完全由使用者控管。
您可以將 AI 代理程式實作為 Cloud Run 服務,協調處理一組非同步工作,並透過多項要求/回應互動,向使用者提供資訊。
Cloud Run 架構上的 AI 代理
在 Cloud Run 上部署的典型 AI 代理程式架構可能涉及 Google Cloud 和 Google Cloud內外的多個元件:
服務和協調:Cloud Run 服務可做為可擴充的 API 端點,並透過自動、隨選的快速執行個體資源調度功能,處理多位並行使用者。這項服務會執行核心代理程式邏輯,通常使用 LangGraph 或 Agent Development Kit (ADK) 等 AI 編排架構。這個層會協調對其他元件的呼叫。Cloud Run 支援使用 WebSockets 將串流 HTTP 回應傳回給使用者。Cloud Run 內建的服務身分提供安全且自動的憑證,可呼叫 Google Cloud API,不必管理 API 金鑰。
AI 模型:自動調度管理層會呼叫模型,以進行推論。可能的形式包括:
- Gemini API
- 部署在 Vertex AI 端點的自訂模型或其他基礎模型
- 您自己的微調模型,可透過獨立的 啟用 GPU 的 Cloud Run 服務提供服務
記憶:代理通常需要記憶功能來保留脈絡,並從過去的互動中學習。
- 短期記憶可透過將 Cloud Run 連線至 Memorystore for Redis 實作。
- 如要實作長期記憶,儲存對話記錄或記住使用者偏好設定,可以將 Cloud Run 連線至 Firestore,這是一種可擴充的無伺服器 NoSQL 資料庫。
資料庫和擷取:適用於檢索增強生成 (RAG) 或擷取結構化資料:
- 將 Cloud Run 連線至
pgvector
擴充功能,即可透過 PostgreSQL 適用的 Cloud SQL 或 PostgreSQL 適用的 AlloyDB 等向量資料庫,查詢特定實體資訊或對嵌入內容執行相似度搜尋。
- 將 Cloud Run 連線至
工具:協調器會使用工具執行模型不適合執行的特定工作,或與外部服務、API 或網站互動。這些實用資源包括:
- 基本公用程式:精確的數學計算、時間轉換或其他類似公用程式,可在協調 Cloud Run 服務中執行。
- 呼叫 API:呼叫其他內部或第三方 API (讀取或寫入存取權)。
- 生成圖片或圖表:使用圖片生成模型或執行圖表程式庫,快速有效地建立視覺內容。
- 瀏覽器和 OS 自動化:在容器執行個體中執行無頭或完整圖形作業系統,讓代理程式瀏覽網路、從網站擷取資訊,或使用點擊和鍵盤輸入執行動作。Cloud Run 服務會傳回螢幕的像素。使用 Puppeteer 等程式庫控制瀏覽器。
- 程式碼執行:Cloud Run 提供多層沙箱的安全性環境,可設定為程式碼執行服務,且IAM 權限最少或沒有。Cloud Run 工作可用於非同步執行程式碼,而並行數為 1 的 Cloud Run 服務則可用於同步執行作業。
後續步驟
- 觀看「在 Cloud Run 上建構 AI 代理」。
- 請嘗試codelab,瞭解如何建構 LangChain 應用程式並部署至 Cloud Run。
- 瞭解如何將 Agent Development Kit (ADK) 部署至 Cloud Run。
- 在 Agent Development Kit (ADK) 範例中尋找現成可用的代理範例。
- 在 Cloud Run 上託管 Model Context Protocol (MCP) 伺服器。