Descripción general de Vector Assist

Vector assist es una extensión de Cloud SQL para PostgreSQL que simplifica la implementación y la administración de tus cargas de trabajo de vectores de Cloud SQL. Proporciona un framework declarativo de SQL que te ayuda a configurar capacidades de búsqueda de vectores listas para la 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 de vectores 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 de vectores 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 crear aplicaciones de extremo a extremo con funciones de búsqueda semántica con una configuración simplificada.

Cómo funciona Vector assist

Para usar Vector assist, debes definir 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 de vectores. Vector assist genera los pasos necesarios para implementar tu carga de trabajo de vectores como recomendaciones. Cada vez que modificas tus especificaciones de vectores, Vector assist vuelve a generar las recomendaciones.

Una vez que generes el índice de vectores 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 de vectores, 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 la intención y los requisitos de tu carga de trabajo de vectores. Incluye toda la información necesaria, como la siguiente:

  • Las tablas y las columnas pertinentes (texto o vector)
  • Preferencias del modelo de embedding (si usas la generación de embeddings)
  • Tipo de índice preferido, como HNSW o IVFFlat.
  • Recuperación de destino para consultas de búsqueda
  • Limitaciones de memoria o otras restricciones de rendimiento

Defines las especificaciones de vectores 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 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 de vectores 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 las recomendaciones en una tabla llamada vector_assist.recommendation, y puedes revisarlas, modificarlas y aplicarlas de forma individual o en su totalidad.

Cada vez que modificas las especificaciones de vectores 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 Cloud SQL para PostgreSQL, ten en cuenta las siguientes limitaciones:

  • Vector assist solo admite PostgreSQL versión 12 y versiones posteriores.
  • 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 la administración de extremos de modelos.
  • Vector assist solo admite los tipos de índice HNSW y IVFFlat.
  • Vector assist solo admite modelos de embedding de texto para generar embeddings automáticamente y usa text_column_name como parámetro de entrada. Si tu carga de trabajo de vectores 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?