Descripción general de Vector Assist

Vector assist es una extensión de AlloyDB para PostgreSQL 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 vectorial 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 intención: 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 vectorial 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 vectorial bien ajustada, lo que reduce el tiempo desde el concepto hasta la producción.
  • Enfocado 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 vectoriales. El framework usa estas especificaciones vectoriales, también conocidas como especificaciones vectoriales, 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 vectoriales, 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 vectorial, es el primer paso para usar Vector assist. Una especificación vectorial es un objeto en el que defines la intención 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 consultas de búsqueda
  • Limitaciones de memoria

Defines las especificaciones vectoriales con la vector_assist.define_spec función y puedes modificarlas 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 las especificaciones vectoriales, 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 las especificaciones vectoriales de 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, 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 Registra y llama a modelos de IA remotos en la descripción general de AlloyDB.
  • 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 automáticamente embeddings 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 manualmente estos embeddings antes de usar Vector assist para habilitar la búsqueda semántica en ellos.

¿Qué sigue?