En esta página se describe cómo usar la asistencia de vectores para desplegar y gestionar una carga de trabajo de vectores en tu instancia de Cloud SQL para PostgreSQL.
Para obtener más información sobre qué es la asistencia vectorial y cómo funciona, consulta el artículo Descripción general de la asistencia vectorial.
Antes de empezar
- Confirma que tu instancia usa la versión de mantenimiento correcta.
Vector Assist requiere un número de versión de mantenimiento mínimo de
PostgreSQL_$version.R20251004.01_07. Para obtener más información sobre cómo realizar el mantenimiento de autoservicio, consulta Realizar el mantenimiento de autoservicio. - Define la marca de base de datos
cloudsql.enable_vector_assistcomoON. Habilita la extensión de asistencia vectorial con el siguiente comando en la base de datos que quieras usar:
CREATE EXTENSION vector_assist CASCADE;De esta forma, se genera el esquema
vector_assist, que usa la asistencia de vectores.
Usar la asistencia de vectores para desplegar una carga de trabajo de vectores
Para usar la asistencia de vectores con el fin de implementar y gestionar una carga de trabajo de vectores, debes hacer lo siguiente:
- Define tu especificación de vector
- Ver recomendaciones de asistencia vectorial
- Aplicar recomendaciones de asistencia vectorial
Define tu especificación de vector
Definir la especificación de vector o especificación de vector es el primer paso para usar la asistencia de vectores. En función del tipo de carga de trabajo vectorial, los campos que uses para definir tu especificación vectorial pueden ser diferentes.
Por ejemplo, si quieres habilitar la búsqueda semántica en una columna específica de una tabla, ejecuta la función vector_assist.define_spec para definir tu especificación de vector:
SELECT vector_assist.define_spec(
table_name => 'TABLE_NAME',
vector_column_name => 'VECTOR_COLUMN_NAME',
target_recall => TARGET_RECALL,
tune_vector_index => TUNE_INDEX
);
Sustituye los siguientes parámetros:
- TABLE_NAME: el nombre de la tabla que quieras usar en tu carga de trabajo vectorial.
- VECTOR_COLUMN_NAME: la columna en la que quieras realizar una búsqueda semántica.
- TARGET_RECALL: el recuerdo objetivo que quieres que cumpla la asistencia vectorial.
- TUNE_INDEX: valor booleano que especifica si la asistencia de vector ajusta los índices de vector de tu carga de trabajo.
Para ver una lista completa de todos los parámetros disponibles de la especificación de vector, consulta la referencia de Asistente de vector.
Después de ejecutar la consulta para crear la especificación de vector, la asistencia de vector genera automáticamente pasos, denominados recomendaciones, que debes ejecutar para desplegar tu carga de trabajo de vector.
Ver recomendaciones de asistencia vectorial
Para ver las recomendaciones generadas por la asistencia de vectores a partir de tu especificación de vectores, ejecuta la función vector_assist.get_recommendations:
SELECT vector_assist.get_recommendations(
spec_id => 'SPEC_ID'
);
Sustituye los siguientes parámetros:
- SPEC_ID: el ID de especificación del vector para el que quieres ver recomendaciones.
Devuelve una tabla llamada vector_assist.RECOMMENDATIONS que contiene todas las recomendaciones. Cada recomendación se almacena en una tabla con el spec_id asociado. Cada recomendación suele contener la consulta SQL que debes ejecutar, una explicación detallada de la recomendación y otra información relevante que explica la recomendación.
Aplicar recomendaciones de asistencia vectorial
Puedes aplicar las recomendaciones generadas de forma individual o en conjunto.
Para aplicar una recomendación específica, ejecuta la función
vector_assist.apply_recommendation
SELECT vector_assist.apply_recommendation(
recommendation_id => 'RECOMMENATION_ID',
);
Sustituye los siguientes parámetros:
- RECOMMENDATION_ID: el ID de la recomendación de asistencia vectorial que quieres aplicar de la tabla
vector_assist.RECOMMENDATIONS.
Para aplicar todas las recomendaciones a la vez, ejecuta la función
vector_assist.apply_spec
con el parámetro spec_id o table_name:
SELECT vector_assist.apply_spec(
spec_id => 'SPEC_ID',
table_name => 'TABLE_NAME'
);
Sustituye los siguientes parámetros:
- SPEC_ID: el ID de la especificación de vector que quieras usar.
- TABLE_NAME: el nombre de la tabla que has usado para definir tu especificación de vector.
También puedes introducir los parámetros schema_name o column_name.
Una vez que apliques las recomendaciones generadas por la asistencia vectorial, el índice vectorial estará listo para usarse.
Generar consultas de búsqueda
Puedes usar la asistencia de vectores para crear consultas de búsqueda optimizadas para tus cargas de trabajo de vectores implementadas. Para ello, utiliza la especificación de vectores de la carga de trabajo y el índice de vectores generado. Para generar una consulta de búsqueda optimizada, ejecuta la función vector_assist.generate_query:
SELECT vector_assist.generate_query(
spec_id => 'SPEC_ID',
table_name => 'TABLE_NAME',
column_name => 'COLUMN_NAME',
search_text => 'SEARCH_TEXT',
top_k => 'TOP_K_NAME',
target_recall => TARGET_RECALL,
filter_expression => 'FILTER_EXPRESSION'
);
Sustituye los siguientes parámetros:
- SPEC_ID: el ID de la especificación que quieres usar.
- TABLE_NAME: el nombre de la tabla que has usado para definir tu especificación de vector.
- COLUMN_NAME: el nombre de la columna de texto original que has definido en tu especificación de vector.
- SEARCH_TEXT: el texto que quieres buscar en la columna.
- TOP_K: el número de vecinos más cercanos que se devolverán.
- TARGET_RECALL: la recuperación objetivo que quieres que cumpla la asistencia vectorial.
- FILTER_EXPRESSION: cualquier filtro para la consulta de búsqueda, por ejemplo, filtrar por otras columnas.
Para ver una lista completa de todos los parámetros disponibles para generar una consulta de búsqueda, consulta la referencia de asistencia vectorial.
El resultado de esta función es un texto que contiene una consulta SQL. Puedes ejecutar o guardar esta consulta de SQL según sea necesario.
Siguientes pasos
- Consulta más información sobre la ayuda vectorial.
- Referencia de la asistencia vectorial