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

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

下圖顯示完整的應用程式工作流程,說明如何啟用及使用 Spanner 資料的向量搜尋功能:

Spanner 到 Vector Search 工作流程。

一般工作流程如下所示:

  1. 生成及儲存向量嵌入。

    您可以生成資料的向量嵌入,然後與營運資料一起儲存在 Spanner 中並進行管理。您可以使用 Spanner 的 ML.PREDICT SQL 函式生成嵌入,存取 Vertex AI 文字嵌入模型,或使用部署至 Vertex AI 的其他嵌入模型

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

    使用 Spanner To Vertex AI Vector Search Workflow,透過 Workflows 部署,將嵌入匯出並上傳至 Vector Search 索引。您可以使用 Cloud Scheduler 定期排定這項工作流程,讓 Vector Search 索引與 Spanner 中最新的嵌入內容變更保持同步。

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

    查詢向量搜尋索引,搜尋並找出語意相似的項目。您可以透過公開端點VPC 對等互連查詢。

用途範例

向量搜尋的說明用途範例:某線上零售商有數十萬件商品。在這個情境中,您是線上零售商的開發人員,希望在 Spanner 的產品目錄中使用向量相似度搜尋,協助顧客根據搜尋查詢找到相關產品。

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

現在假設有位顧客在瀏覽應用程式時搜尋「最棒的快乾運動短褲,可穿下水」。應用程式收到這項查詢時,您需要使用 Spanner ML.PREDICT SQL 函式,為這項搜尋要求產生要求嵌入。請務必使用與產品目錄嵌入相同的嵌入模型。

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

向量搜尋傳回這些類似產品 ID 後,您可以查詢 Spanner,取得產品說明、庫存數量、價格和其他相關中繼資料,並向顧客顯示。

您也可以使用生成式 AI 處理 Spanner 傳回的結果,再向顧客顯示。舉例來說,您可以使用 Google 的大型生成式 AI 模型,生成建議產品的簡要摘要。詳情請參閱這篇教學課程,瞭解如何在電子商務應用程式中,使用生成式 AI 取得個人化建議

後續步驟