使用 Cloud SQL 建構生成式 AI 應用程式

本頁面概略說明 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 系統洞察資訊主頁

  • 查詢洞察:偵測、診斷及預防查詢效能問題。這有助於提升生成式 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 和 asyncpgFastAPI
  • 支援在不同專案中設定 Cloud SQL,以及在 GKE 或 Cloud Run 上執行的應用程式 Google Cloud

解決方案包含下列內容:

  • Terraform 範本,可根據安全性最佳做法設定基礎架構
  • LLM 驅動的 Chatbot 範例應用程式,可部署至 GKE 或 Cloud Run

後續步驟