在 AlloyDB AI 中選擇向量索引

選取說明文件版本:

本頁面說明 AlloyDB AI 向量搜尋策略,並解釋各策略的適用時機。根據預設,AlloyDB 會使用 K 近鄰搜尋 (KNN) 尋找與查詢類似的向量。向量索引會實作稱為「近似最鄰近」(ANN) 的搜尋策略。建立向量索引時,AlloyDB AI 會使用 ANN,效能優於 KNN。請注意,選取向量索引時,您需要平衡查詢延遲和召回率。

召回率可衡量搜尋功能擷取特定查詢的所有相關項目的效率。舉例來說,假設您有 100 個嵌入內容,每個內容都代表資料庫中的實體。您可以使用目標向量查詢嵌入項目,並將結果限制為 10 個。KNN 向量搜尋會使用暴力計算方法找出 10 個最接近的確切向量,因此召回率為 100%。如果沒有建立或選擇向量搜尋索引,AlloyDB AI 預設會使用這個方法。在 PostgreSQL 適用的 AlloyDB 中建立向量索引時,系統通常會使用 ANN,這可能會根據相似度分割向量,以利加快擷取速度。因此,使用 ANN 時,先前範例中傳回的 10 個向量,可能不是距離最接近的 10 個向量。如果檢索到的 10 個向量中,只有 8 個是空間中最接近查詢向量的向量,則召回率為 80%。

查詢延遲:定義搜尋結果的生成速度。舉例來說,延遲時間的計算依據是您提交查詢後,系統在搜尋中花費的時間,以及傳回向量的時間。

選擇搜尋策略

在 AlloyDB 中執行向量搜尋時,請選擇下列其中一種搜尋策略:

搜尋策略 說明 用途
K-近鄰演算法 (KNN) 這項演算法會找出與指定查詢資料點最接近的 k 個資料點。 如果您在執行向量搜尋時未建立索引,系統預設會執行 KNN 搜尋。
  • 您的應用程式對準確度非常敏感,需要最接近的完全相符結果。
  • 向量數量少於 100,000 個。
最鄰近搜尋 (ANN) 這項演算法會找出最接近的資料點。ANN 會根據相似性,將現有顧客資料點分成小群組。
  • 您的應用程式需要低延遲。
  • 您有超過 100,000 個向量。

Google 建議您建立向量索引,盡量提升向量搜尋查詢的效能。如要進一步瞭解如何使用 ANN 索引進行相似性搜尋,請參閱「使用 ScaNN 建立索引和查詢向量」。

後續步驟