Información general sobre la asistencia vectorial

Vector Assist es una extensión de Cloud SQL para PostgreSQL que simplifica el despliegue y la gestión de tus cargas de trabajo vectoriales de Cloud SQL. Proporciona un framework de SQL declarativo que te ayuda a configurar funciones de búsqueda de vectores listas para producción, como la generación de inserciones, la optimización de consultas y la creación de índices. Este framework reduce la complejidad de las cargas de trabajo de vectores de las siguientes formas:

  • Simplificación de la declaración de intenciones: los requisitos (como la tabla, la columna de texto o el recuerdo objetivo) se declaran mediante funciones SQL.
  • Automatización de las 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 que hayas definido y un algoritmo de ajuste automático optimizado que calcula la configuración de índice óptima.
  • Ofrecer transparencia y control: proporciona explicaciones claras de cada recomendación al automatizar tareas, lo que le permite revisar, modificar y aplicar recomendaciones a su ritmo.
  • Permite crear prototipos rápidamente: puedes desplegar rápidamente una configuración de búsqueda vectorial bien ajustada, lo que reduce el tiempo que transcurre entre el concepto y la producción.
  • Centrarse en la facilidad de uso: simplifica la complejidad de la búsqueda semántica y acorta la distancia entre los requisitos empresariales y los de ingeniería.

Con la asistencia vectorial, puedes crear aplicaciones integrales con funciones de búsqueda semántica y una configuración simplificada.

Cómo funciona la asistencia vectorial

Para usar la asistencia de vector, debes definir las especificaciones del vector. El framework usa estas especificaciones de vector, también conocidas como "especificación de vector", para generar los pasos necesarios para crear un índice vectorial. La asistencia de vectores genera los pasos necesarios para implementar tu carga de trabajo de vectores como recomendaciones. Cada vez que modifiques la especificación de vector, la asistencia de vector volverá a generar las recomendaciones.

Una vez que hayas generado el índice vectorial siguiendo estos pasos recomendados, podrás usar la asistencia vectorial para generar consultas de búsqueda optimizadas.

Especificación de la asistencia vectorial

Configurar la especificación del índice vectorial, o especificación vectorial, es el primer paso para usar la asistencia vectorial. Una especificación de vector es un objeto en el que se definen la intención y los requisitos de la carga de trabajo de vector. Incluye toda la información necesaria, como:

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

La especificación del vector se define con la función vector_assist.define_spec y se puede modificar 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 deduce las entradas de especificación y un algoritmo de ajuste automático optimizado que calcula la configuración de índice óptima. Aunque la asistencia vectorial usa estos valores para simplificar el proceso de desarrollo, puedes personalizarlos para que se ajusten a tus preferencias.

Recomendaciones de asistencia vectorial

Una vez que hayas definido la especificación del vector, la asistencia vectorial procesará tu entrada y generará recomendaciones. Estas recomendaciones son una lista ordenada de pasos útiles (normalmente, comandos SQL) que debes seguir para implementar tu carga de trabajo de vector según tus especificaciones. Cada recomendación incluye lo siguiente:

  • La consulta de SQL que se va a ejecutar.
  • Una explicación detallada de lo que hace la consulta y por qué se recomienda.
  • Información sobre posibles ventajas e inconvenientes o costes, 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 individualmente o en conjunto.

Cada vez que modifiques la especificación de vector de tu carga de trabajo, la asistencia de vector volverá a generar las recomendaciones para cumplir las especificaciones actualizadas.

Limitaciones

Cuando uses la asistencia vectorial con tus instancias de Cloud SQL para PostgreSQL, ten en cuenta las siguientes limitaciones:

  • La asistencia vectorial solo es compatible con las versiones 12 y posteriores de PostgreSQL.
  • Aunque la asistencia vectorial es compatible con todas las versiones de pgvector, te recomendamos que utilices la versión más reciente para disfrutar de un rendimiento y una compatibilidad óptimos. Para obtener más información, consulta el pgvector registro de cambios.
  • Si tu instancia usa la extensión google_ml_integration para generar inserciones, sus restricciones también se aplican cuando usas la asistencia vectorial. Para obtener más información, consulta el resumen de la gestión de puntos finales de modelos.
  • La asistencia de vectores solo admite los tipos de índice HNSW y IVFFlat.
  • Vector Assist solo admite modelos de inserción de texto para generar inserciones automáticamente y usa text_column_name como parámetro de entrada. Si tu carga de trabajo de vectores requiere un modelo de incrustación multimodal, usa la extensión google_ml_integration u otra extensión para generar manualmente estas incrustaciones antes de usar la asistencia de vectores para habilitar la búsqueda semántica en estas incrustaciones.

Siguientes pasos