Lanzamiento de pgvector 0.8.0
pgvector, una extensión de código abierto para PostgreSQL que proporciona capacidades de búsqueda de similitud vectorial, ha publicado la versión 0.8.0. Esta versión incluye funcionalidades que mejoran el rendimiento de las consultas y la facilidad de uso al utilizar filtros (por ejemplo, la cláusula WHERE
), así como mejoras en el rendimiento de las búsquedas y la creación de índices HNSW.
Esta última versión de pgvector presenta una variedad de mejoras para el filtrado. Incluyen una actualización de cómo PostgreSQL estima el momento oportuno para escanear índices de vecino más próximo aproximado (ANN) como HNSW e IVFFlat, lo que podría llevar a PostgreSQL a seleccionar un índice B-tree u otro índice que ejecute la consulta de forma más eficiente. Si es posible obtener el mismo rendimiento de consulta sin utilizar un índice ANN, esto suele ser lo preferible, ya que permite lograr una recuperación del 100%, o búsquedas de alta relevancia.
Además, esta versión de pgvector añade escaneos iterativos de índices, que es una técnica para evitar el «sobrefiltrado» o la falta de resultados suficientes para satisfacer las condiciones de una consulta. Es posible habilitar el escaneo iterativo con los parámetros hnsw.iterative_scan
e ivfflat.iterative_scan
para índices HNSW e IVFFlat respectivamente. Y en el caso de que un escaneo inicial del índice no satisfaga las condiciones de la consulta, pgvector continuará buscando en el índice hasta alcanzar un umbral configurable (hnsw.max_scan_tuples
e ivfflat.max_probes
).
Para más información, consulten el CHANGELOG para la versión 0.8.0 en:
https://github.com/pgvector/pgvector/blob/master/CHANGELOG.md#080-2024-10-30
Para más información sobre pgvector, y cómo empezar a utilizarlo, visiten el repositorio del proyecto en GitHub en:
https://github.com/pgvector/pgvector