將嵌入資料從 Spanner 匯出至 Vertex AI Vector Search

Vertex AI Vector Search 可讓使用者使用向量嵌入,搜尋語意相似的項目。使用 Spanner 到 Vertex AI Vector Search 工作流程,您可以將 Spanner 資料庫與 Vector Search 整合,對 Spanner 資料執行向量相似度搜尋。

下圖顯示端對端應用程式工作流程,說明如何在 Spanner 資料上啟用及使用 Vector Search:

Spanner 到 Vector Search 工作流程。

一般工作流程如下所示:

  1. 產生並儲存向量嵌入項目。

    您可以為資料產生向量嵌入,然後將其與營運資料一併儲存及管理。您可以使用 Spanner 的 ML.PREDICT SQL 函式產生嵌入項目,存取 Vertex AI 的 textembedding-gecko 模型,或使用部署至 Vertex AI 的其他嵌入模型

  2. 將嵌入內容同步至 Vector Search。

    使用 Spanner 到 Vertex AI Vector Search 工作流程,該工作流程會透過 工作流程 部署,以便匯出並上傳嵌入資料至 Vector Search 索引。您可以使用 Cloud Scheduler 定期排定這個工作流程,讓 Vector Search 索引保持最新狀態,並反映 Spanner 中嵌入項目的最新變更。

  3. 使用 Vector Search 索引執行向量相似度搜尋。

    查詢 Vector Search 索引,搜尋並找出語意相似的項目結果。您可以使用公開端點虛擬私有雲對等互連進行查詢。

用途範例

向量搜尋的示例用途是,線上零售商擁有數十萬件商品的商品目錄。在這個情境中,您是線上零售商的開發人員,想在 Spanner 中使用向量相似度搜尋功能,根據客戶的搜尋查詢,協助他們找到相關產品。

請按照一般工作流程中的步驟 1 和步驟 2,為產品目錄產生向量嵌入項目,並將這些嵌入項目同步處理至向量搜尋。

假設有位消費者正在瀏覽您的應用程式,並搜尋「可在水中穿著的最佳快乾運動短褲」這類商品。當應用程式收到這項查詢時,您必須使用 Spanner ML.PREDICT SQL 函式,為這項搜尋要求產生要求嵌入內容。請務必使用相同的嵌入模型,為產品目錄產生嵌入資料。

接著,請查詢 Vector Search 索引,找出對應嵌入項目與客戶搜尋請求產生的請求嵌入相似的產品 ID。搜尋索引可能會為語意相似的項目 (例如滑水板短褲、衝浪服飾和游泳褲) 推薦產品 ID。

向 Vector Search 傳回這些相似產品 ID 後,您可以向 Spanner 查詢產品說明、商品目錄數量、價格和其他相關中繼資料,並向客戶顯示這些資料。

您也可以使用生成式 AI 處理 Spanner 傳回的結果,再向客戶顯示。舉例來說,您可以使用 Google 的大型生成式 AI 模型,針對推薦的產品產生精簡摘要。如需更多資訊,請參閱這份教學課程,瞭解如何在電子商務應用程式中使用生成式 AI 取得個人化推薦內容

後續步驟