pgvector,一個提供向量相似度搜尋功能的開源 PostgreSQL 擴充套件,已發布 v0.8.0 版本。此版本包含改進查詢效能和過濾器(例如 WHERE
子句)可用性的功能,以及改進搜尋和建立 HNSW 索引的效能。
這個最新版本的 pgvector 對於過濾功能進行了各種改進。這包括更新 PostgreSQL 如何估計何時掃描近似最近鄰 (ANN) 索引(如 HNSW 和 IVFFlat),這可能會導致 PostgreSQL 選擇 B-tree 或其他更有效執行查詢的索引。 如果您可以在不使用 ANN 索引的情況下實現相同的查詢效能,通常這是更可取的,因為它可以讓您實現 100% 的召回率或高相關性搜尋。
此外,此 pgvector 版本增加了迭代索引掃描,這是一種防止「過度過濾」或未返回足夠結果以滿足查詢條件的技術。 您可以使用 HNSW 和 IVFFlat 索引的 hnsw.iterative_scan
和 ivfflat.iterative_scan
參數啟用迭代掃描,如果初始索引掃描不滿足查詢條件,pgvector 將繼續搜尋索引,直到達到可配置的閾值(hnsw.max_scan_tuples
和 ivfflat.max_probes
)。
有關更多資訊,請參閱 0.8.0 的變更日誌
https://github.com/pgvector/pgvector/blob/master/CHANGELOG.md#080-2024-10-30
有關 pgvector 的更多資訊,包括如何開始使用,請訪問 GitHub 上的專案儲存庫