Elige un índice vectorial en AlloyDB AI

Selecciona una versión de la documentación:

En esta página, se describen las estrategias de búsqueda de vectores de AlloyDB AI y se explica cuándo usar cada una. De forma predeterminada, AlloyDB usa la búsqueda de k-vecinos más cercanos (KNN) para encontrar vectores similares a una consulta. Los índices de vectores implementan una estrategia de búsqueda llamada vecino más cercano aproximado (ANN). Cuando creas un índice de vectores, AlloyDB AI usa ANN, que proporciona un mejor rendimiento que KNN. Ten en cuenta que, cuando seleccionas un índice de vectores, debes equilibrar la latencia y la recuperación de las consultas.

La recuperación mide la eficacia con la que una búsqueda recupera todos los elementos relevantes para una consulta determinada. Por ejemplo, imagina que tienes 100 embeddings, cada uno de los cuales representa una entidad en tu base de datos. Consultas tus embeddings con un vector objetivo y lo limitas a 10 resultados. Una búsqueda de vectores KNN encuentra los 10 vectores más cercanos exactos con un método de cálculo de fuerza bruta, lo que da como resultado una recuperación del 100%. AlloyDB AI usa este método de forma predeterminada si no se crea ni se elige un índice de búsqueda de vectores. Cuando creas un índice de vectores en AlloyDB para PostgreSQL, por lo general, usa ANN, que puede particionar vectores según la similitud para facilitar una recuperación más rápida. Como resultado, con ANN, es posible que los 10 vectores que se muestran en el ejemplo anterior no sean exactamente los 10 vectores más cercanos en distancia. Si solo 8 de los 10 vectores recuperados son los más cercanos en el espacio a tu vector de consulta, tu recuperación es del 80%.

La latencia de las consultas define la rapidez con la que se generan los resultados de la búsqueda. Por ejemplo, la latencia se calcula en función del tiempo que se dedica a una búsqueda para mostrar los vectores después de enviar una consulta.

Elige tu estrategia de búsqueda

Cuando realices una búsqueda de vectores en AlloyDB, elige una de las siguientes estrategias de búsqueda:

Estrategia de búsqueda Descripción Casos de uso
K-vecinos más cercanos (KNN) Un algoritmo que encuentra los k-vecinos más cercanos a un punto de datos de consulta determinado. Cuando realizas una búsqueda de vectores sin crear un índice, se realiza una búsqueda KNN de forma predeterminada.
  • Tu aplicación es muy sensible a la exactitud y necesitas las coincidencias más cercanas exactas.
  • Tienes menos de 100,000 vectores.
Vecino más cercano aproximado (ANN) Un algoritmo que encuentra aproximadamente los puntos de datos más cercanos. ANN divide los puntos de datos de clientes existentes en grupos pequeños según las similitudes.
  • Tu aplicación requiere una latencia baja.
  • Tienes más de 100,000 vectores.

Google recomienda que crees un índice de vectores para optimizar el rendimiento de tus consultas de búsqueda de vectores. Para obtener más información sobre cómo se usa el índice ANN para las búsquedas de similitud, consulta Crea índices y consulta vectores con ScaNN.

¿Qué sigue?