Introducción a la búsqueda vectorial
En este documento, se proporciona una descripción general de la búsqueda vectorial en BigQuery. La búsqueda vectorial te permite buscar incorporaciones para identificar entidades semánticamente similares.
Las incorporaciones son vectores numéricos de alta dimensión que representan una entidad determinada, como un fragmento de texto o un archivo de audio. Los modelos de aprendizaje automático (AA) usan incorporaciones para codificar la semántica de esas entidades a fin de facilitar el razonamiento y la comparación. Por ejemplo, una operación común en los modelos de agrupamiento en clústeres, clasificación y recomendación es medir la distancia entre vectores en un espacio de incorporaciones para encontrar elementos que sean más semánticamente similares.
Para realizar una búsqueda vectorial, usa la función VECTOR_SEARCH
y, de forma opcional, un índice vectorial. Cuando se usa un índice vectorial, VECTOR_SEARCH
usa la técnica de búsqueda vecino más cercano aproximado para ayudar a mejorar el rendimiento de la búsqueda vectorial, con la compensación de reducir la recuperación y mostrar resultados más aproximados. La fuerza bruta se usa para mostrar resultados exactos cuando un índice vectorial no está disponible, y puedes optar por usar la fuerza bruta para obtener resultados exactos, incluso cuando un índice vectorial está disponible.
Casos de uso
La combinación de la generación de incorporaciones y la búsqueda vectorial habilita muchos casos de uso interesantes, en los que la generación de aumento de recuperación (RAG) es la canónica. Estos son otros casos prácticos posibles:
- Con un lote de casos de ayuda nuevos, busca varios casos resueltos similares para cada uno. Pasa información sobre los casos resueltos a un modelo grande de lenguaje (LLM) para usarlo como contexto cuando resumas y sugieras soluciones para los nuevos casos de ayuda.
- Dada una entrada de registro de auditoría, encuentra las entradas que coincidan de manera más estrecha en los últimos 30 días.
- Genera incorporaciones a partir de los datos del perfil de los pacientes y, luego, usa la búsqueda vectorial para encontrar pacientes con perfiles similares a fin de explorar los planes de tratamiento exitosos prescritos a esa cohorte de pacientes.
- Dadas las incorporaciones que representan momentos previos al accidente de todos los sensores y cámaras de una flota de autobuses escolares, encuentra momentos similares de todos los otros vehículos de la flota para analizarlos, ajustarlos y volver a entrenar los modelos que rigen las participaciones de funciones de seguridad.
- Dada una imagen, encuentra las imágenes más relacionadas en una tabla de objetos de BigQuery y pasa esas imágenes a un modelo para generar subtítulos.
Precios
La sentencia CREATE VECTOR INDEX
y la función VECTOR_SEARCH
usan los precios de procesamiento de BigQuery.
Para la declaración CREATE VECTOR INDEX
, solo la columna indexada se considera en los bytes procesados.
No se aplican cargos por el procesamiento necesario para compilar y actualizar tus índices vectoriales cuando el tamaño total de los datos de tablas indexadas está por debajo del límite por organización. A fin de admitir la indexación más allá de este límite, debes proporcionar tu propia reserva para controlar los trabajos de administración de índices. Los índices vectoriales generan costos de almacenamiento cuando están activos. Puedes encontrar el tamaño del almacenamiento de índices en la vista INFORMATION_SCHEMA.VECTOR_INDEXES
.
Si el índice vectorial aún no tiene una cobertura del 100%, se te cobra por todo el almacenamiento de índices que se informa en la vista INFORMATION_SCHEMA.VECTOR_INDEXES
.
Cuotas y límites
Para obtener más información, consulta Límites de los índices vectoriales.
Limitaciones
- BigQuery BI Engine no acelera las consultas que contienen la función
VECTOR_SEARCH
. - Las reglas de administración y seguridad de los datos de BigQuery se aplican al uso de
VECTOR_SEARCH
. Para obtener más información, consulta la sección Limitaciones enVECTOR_SEARCH
. Estas reglas no se aplican a la generación de índices vectoriales.
¿Qué sigue?
- Obtén más información sobre cómo crear un índice vectorial.
- Prueba el instructivo Busca incorporaciones con búsqueda vectorial para aprender a crear un índice vectorial y, luego, realiza una búsqueda vectorial para incorporaciones con y sin el índice.
Prueba el instructivo Realiza búsquedas semánticas y generación de recuperación aumentada para aprender a hacer las siguientes tareas:
- Generar incorporaciones de texto.
- Crear un índice vectorial en las incorporaciones.
- Realizar una búsqueda vectorial con las incorporaciones para buscar texto similar.
- Realizar la generación de aumento de recuperación (RAG) con los resultados de la búsqueda vectorial para aumentar la entrada de instrucciones y mejorar los resultados.
Prueba el instructivo Cómo analizar archivos PDF en una canalización de generación de aumento de recuperación para aprender a crear una canalización de RAG basada en el contenido de PDF analizado.