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 de SQL declarativo que te ayuda a configurar capacidades de búsqueda de vectores listas para la producción, como la generación de incorporaciones, 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:

  • Simplificación de la declaración de intención: Los requisitos (como la tabla, la columna de texto o la recuperación objetivo) se declaran con funciones de SQL.
  • Automatización de prácticas recomendadas: Genera comandos 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.
  • Proporcionamos transparencia y control: Ofrecemos explicaciones claras para cada recomendación cuando automatizamos tareas que te permiten revisar, modificar y aplicar recomendaciones a tu propio ritmo.
  • Permite un prototipado rápido: 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.
  • Enfoque en la facilidad de uso: Simplifica la complejidad de la búsqueda semántica y cierra la brecha entre los requisitos comerciales y de ingeniería.

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

Cómo funciona la asistencia de vectores

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 vectorial como recomendaciones. Cada vez que modificas tu especificación de vectores, el asistente de vectores regenera las recomendaciones.

Una vez que generes el índice de vectores con estos pasos recomendados, podrás usar el asistente de vectores para generar búsquedas 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 el asistente de vectores. Una especificación de vector 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 se usa la generación de embeddings)
  • Tipo de índice preferido, como HNSW o IVFFlat.
  • Recuperación del objetivo para las búsquedas
  • Limitaciones de memoria o cualquier otra restricción de rendimiento

Puedes definir la especificación del vector con la función vector_assist.define_spec y 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. Si bien la asistencia vectorial usa estos valores para simplificar el proceso de desarrollo, puedes personalizarlos según tus preferencias.

Recomendaciones de Vector Assist

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

  • Es la consulta en SQL que se ejecutará.
  • Una explicación detallada de lo que hace la búsqueda 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 conjunto.

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

Limitaciones

Cuando uses el asistente de vectores con tus instancias de Cloud SQL para PostgreSQL, ten en cuenta las siguientes limitaciones:

  • El asistente de vectores solo admite las versiones 12 y posteriores de PostgreSQL.
  • Si bien la asistencia de vectores admite todas las versiones de pgvector, te recomendamos que uses la versión más reciente para obtener un rendimiento óptimo y compatibilidad con las funciones. Para obtener más información, consulta el registro de cambios de pgvector.
  • Si tu instancia usa la extensión google_ml_integration para generar embeddings, sus restricciones también se aplican cuando usas el asistente de vectores. Para obtener más información, consulta la descripción general de la administración de extremos de modelos.
  • La asistencia de vectores solo admite los tipos de índice HNSW y IVFFlat.
  • El asistente de vectores solo admite modelos de incorporación de texto para generar automáticamente incorporaciones 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 alguna otra extensión para generar manualmente estos embeddings antes de usar el asistente de vectores para habilitar la búsqueda semántica en estos embeddings.

¿Qué sigue?