Descripción general de Vector Assist

Selecciona una versión de la documentación:

Vector assist es una extensión de AlloyDB Omni que simplifica la implementación y la administración de tus cargas de trabajo vectoriales. Proporciona un framework declarativo de SQL que te ayuda a configurar capacidades de búsqueda de vectores listas para producción, como la generación de embeddings, la optimización de consultas y la creación de índices. Este framework reduce la complejidad de las cargas de trabajo vectoriales de la siguiente manera:

  • Simplifica la declaración de intents: Los requisitos (como la tabla, la columna de texto o la recuperación de destino) se declaran con funciones de SQL.
  • Automatiza las prácticas recomendadas: Genera comandos de SQL optimizados, también conocidos como recomendaciones, para configurar tu carga de trabajo vectorial con la especificación de vectores definida y un algoritmo de ajuste automático optimizado que calcula la configuración óptima del índice.
  • Proporciona transparencia y control: Proporciona explicaciones claras para cada recomendación cuando automatiza tareas que te permiten revisar, modificar y aplicar recomendaciones a tu propio ritmo.
  • Permite la creación rápida de prototipos: Te permite implementar rápidamente una configuración de búsqueda de vectores bien ajustada, lo que reduce el tiempo desde el concepto hasta la producción.
  • Se centra en la facilidad de uso: Simplifica la complejidad de la búsqueda semántica, lo que reduce la brecha entre los requisitos empresariales y de ingeniería.

Con Vector assist, puedes compilar aplicaciones de extremo a extremo con funciones de búsqueda semántica con una configuración simplificada.

Cómo funciona Vector assist

Vector assist requiere que definas tus especificaciones de vectores. El framework usa estas especificaciones de vectores, también conocidas como especificaciones de vectores, para generar los pasos necesarios para crear un índice vectorial. Vector assist genera los pasos necesarios para implementar tu carga de trabajo vectorial como recomendaciones. Cada vez que modificas tus especificaciones de vectores, Vector assist vuelve a generar las recomendaciones.

Una vez que generes el índice vectorial con estos pasos recomendados, podrás usar Vector assist para generar consultas de búsqueda optimizadas.

Especificación de Vector assist

Configurar la especificación del índice vectorial, o especificación de vectores, es el primer paso para usar Vector assist. Una especificación de vectores es un objeto en el que defines el intent y los requisitos de tu carga de trabajo vectorial. Incluye toda la información necesaria, incluidos los siguientes elementos:

  • Tablas y columnas relevantes (texto o vector)
  • Preferencias del modelo de embedding (si usas la generación de embeddings)
  • Tipo de índice preferido: HNSW o IVFFlat. ScaNN no es compatible.
  • Recuperación de destino para búsquedas
  • Limitaciones de memoria

Defines la especificación de vectores con la vector_assist.define_spec función y puedes modificarla en cualquier momento. El sistema asigna a cada especificación un ID único y lo almacena en una tabla llamada vector_assist.VECTOR_SPECS.

Vector assist infiere las entradas de especificación y un algoritmo de ajuste automático optimizado que calcula la configuración óptima del índice. Aunque Vector assist usa estos valores para simplificar el proceso de desarrollo, puedes personalizarlos para que coincidan con tus preferencias.

Recomendaciones de Vector assist

Después de definir la especificación de vectores, Vector assist procesa tu entrada y genera recomendaciones. Estas recomendaciones son una lista ordenada de pasos útiles, por lo general, comandos de SQL, que debes ejecutar para implementar tu carga de trabajo vectorial según tus especificaciones. Cada recomendación incluye lo siguiente:

  • La consulta en SQL que se ejecutará
  • Una explicación detallada de lo que hace la consulta y por qué se recomienda
  • Información sobre posibles compensaciones o costos, como el tamaño estimado del índice o el tiempo de compilación

Vector assist almacena recomendaciones en una tabla llamada vector_assist.RECOMMENDATIONS, y puedes revisarlas, modificarlas y aplicarlas de forma individual o en su totalidad.

Cada vez que modificas la especificación de vectores para tu carga de trabajo, Vector assist vuelve a generar las recomendaciones para cumplir con las especificaciones actualizadas.

Limitaciones

Cuando uses Vector assist con tus instancias de AlloyDB Omni, ten en cuenta las siguientes limitaciones:

  • Vector assist solo admite las versiones 17 y posteriores de PostgreSQL.
  • Aunque Vector assist admite todas las versiones de pgvector, te recomendamos que uses la versión más reciente para obtener un rendimiento óptimo y compatibilidad con funciones. Para obtener más información, consulta el pgvector registro de cambios.
  • Si tu instancia usa la extensión google_ml_integration para generar embeddings, sus restricciones también se aplican cuando usas Vector assist. Para obtener más información, consulta Descripción general de cómo registrar y llamar a modelos de IA remotos en AlloyDB Omni.
  • Vector assist solo admite los tipos de índice HNSW y IVFFlat. No se admiten los tipos de índice ScaNN.
  • Vector assist solo admite modelos de embedding de texto para generar embeddings de forma automática y usa text_column_name como parámetro de entrada. Si tu carga de trabajo vectorial requiere un modelo de embedding multimodal, usa la extensión google_ml_integration o cualquier otra extensión para generar estos embeddings de forma manual antes de usar Vector assist para habilitar la búsqueda semántica en estos embeddings.

¿Qué sigue?