本頁面概略說明 PostgreSQL 適用的 Cloud SQL 提供的功能,協助您建構生成式 AI 應用程式。如要開始使用範例應用程式,請參閱「開始使用 Cloud SQL 建構生成式 AI 應用程式」。
檢索增強生成 (RAG) 是一種技術,可在產生回覆前參照權威知識庫,以便最佳化大型語言模型 (LLM) 的輸出內容。RAG 可提升生成式 AI 應用程式的準確度。如本頁所述,Cloud SQL 資料庫提供專為 RAG 和生成式 AI 應用程式精心挑選的功能。
產生向量嵌入
向量嵌入是 RAG 的必要元素,可讓系統理解語意並進行高效率的相似度搜尋。這些嵌入是指以數值表示文字、圖像、音訊和影片。嵌入模型會產生向量嵌入,因此如果兩個內容在語意上相似,則各自的嵌入內容會在嵌入向量空間中彼此靠近。
Cloud SQL 與 Vertex AI 整合。您可以使用 Vertex AI 代管的模型,透過 SQL 查詢產生向量嵌入。
Cloud SQL 會使用嵌入函式擴充 PostgreSQL 語法,以產生文字的向量嵌入項目。產生這些嵌入資料後,您可以將這些資料儲存在 Cloud SQL 資料庫中,而不需要使用獨立的向量資料庫。
您也可以使用 Cloud SQL 儲存在 Cloud SQL 外產生的向量嵌入。舉例來說,您可以使用預先訓練的模型,在 Vertex AI Model Garden 中儲存產生的向量嵌入資料。您可以將這些向量嵌入做為 pgvector
函式的輸入內容,用於相似度和語意搜尋。
使用 pgvector
儲存、建立索引及查詢向量嵌入
您可以使用 pgvector
PostgreSQL 擴充功能,在 Cloud SQL 中儲存、建立索引及查詢向量嵌入項目。
如要進一步瞭解如何設定此擴充功能,請參閱「設定 PostgreSQL 擴充功能」。如要進一步瞭解如何儲存、建立索引及查詢向量嵌入,請參閱「儲存產生的嵌入」和「使用 pgvector
查詢及建立嵌入索引」。
使用 SQL 查詢叫用線上預測
您可以使用 SQL 查詢,叫用儲存在 Vertex AI Model Garden 中的模型,進行線上預測。
使用 LangChain 整合功能
Cloud SQL 整合了 LangChain,這是開放原始碼 LLM 自動調度管理框架,可簡化生成式 AI 應用程式的開發作業。您可以使用下列 LangChain 套件:
改善向量搜尋效能
您可以使用下列功能改善向量搜尋的效能:
- 資料快取:使用內建資料快取,運用快速本機 SSD 儲存經常讀取的資料頁面。相較於從永久磁碟讀取,讀取效能可提升至三倍。
資料快取指標:根據資料快取在向量搜尋中的使用效率,對查詢進行最佳化。
Cloud SQL 會在 Cloud Monitoring 的 Metrics Explorer 中提供下列指標:
指標 說明 指標標籤 使用的資料快取 資料快取用量 (以位元組為單位) database/data_cache/bytes_used
資料快取配額 資料快取大小上限 (以位元組為單位) database/data_cache/quota
資料快取命中次數 執行個體資料快取命中讀取作業的總數 database/postgresql/data_cache/hit_count
資料快取失敗次數 執行個體的資料快取遺漏讀取作業總數 database/postgresql/data_cache/miss_count
資料快取命中率 執行個體的資料快取命中讀取作業與資料快取未命中讀取作業的比率
database/postgresql/data_cache/hit_ratio
系統深入分析:提供 CPU 使用率、磁碟使用率和傳輸量等系統指標,協助您監控執行個體的健康狀況,以及排解影響生成式 AI 應用程式效能的問題。如要查看這些指標,請使用 Cloud SQL 系統 Insights 資訊主頁。
查詢洞察:偵測、診斷及預防查詢效能問題。這有助於改善生成式 AI 應用程式中的向量搜尋效能。
您可以使用 Cloud SQL 查詢洞察資訊主頁,觀察熱門查詢的效能,並透過視覺化查詢計畫分析這些查詢。您也可以使用 SQLcommenter,在應用程式層級監控效能,並追蹤應用程式堆疊中出現問題的查詢來源,以便將查詢傳送至資料庫。這是開放原始碼的物件關聯對應 (ORM) 自動檢測程式庫。
查詢深入分析功能還可協助您整合現有的應用程式監控 (APM) 工具,讓您可以使用熟悉的工具排解查詢問題。
使用 Cloud SQL 建構生成式 AI 應用程式的優點
使用 Cloud SQL 建構生成式 AI 應用程式可提供以下功能:
- 使用 PostgreSQL 建構生成式 AI 應用程式。PostgreSQL 適用的 Cloud SQL 支援
pgvector
,並整合 Vertex AI 和 LangChain。 - 使用具備企業級資料保護、安全性和治理機制的可信任服務。使用 Cloud SQL 可享有下列優勢:
- 提供可用性達 99.99% 的服務水準協議,包含維護作業
- 這項代管服務提供自動備份、複製、修補、加密和自動儲存空間容量擴充等功能
- 安全性、治理和法規遵循功能
- 結合內容比對資料。在生成式 AI 應用程式中,對營運資料使用彙整和篩選器,以便取得符合情境、準確且最新的回應。
- 減少作業工具。使用 Cloud SQL 做為向量資料庫,可減少將資料匯出至個別向量資料庫的作業時間。
- 存取最新的生成式 AI 模型。使用 SQL 查詢,存取在 Vertex AI 中託管的最新 AI 模型。
開始使用 Cloud SQL 建構生成式 AI 應用程式
如要開始建構生成式 AI 應用程式,請使用這個範例應用程式。這個應用程式會使用 Cloud SQL、Vertex AI 和 Google Kubernetes Engine (GKE) 或 Cloud Run。您可以使用這個應用程式建構基本聊天機器人 API,以便執行以下操作:
- 將 GKE 或 Cloud Run 與 Cloud SQL、Vertex AI 和
pgvector
整合 - 示範如何在虛擬私有雲 (VPC) 中使用 Private Service Connect 連線至 Cloud SQL
- 使用 Terraform 設定基礎架構
- 使用 Python 搭配
asyncpg
和FastAPI
- 支援在不同專案中設定 Cloud SQL 和在 GKE 或 Cloud Run 上執行的應用程式 Google Cloud
解決方案包含下列內容:
- Terraform 範本:根據安全性最佳做法設定基礎架構
- 可部署至 GKE 或 Cloud Run 的 LLM 輔助聊天機器人的範例應用程式