En esta página, se describe cómo usar vector assist para implementar y administrar una carga de trabajo vectorial en tu instancia de Cloud SQL para PostgreSQL.
Para obtener más información sobre qué es vector assist y cómo funciona, consulta Descripción general de Vector assist.
Antes de comenzar
- Confirma que tu instancia use 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 Mantenimiento de autoservicio del rendimiento. - Establece la marca de base de datos
cloudsql.enable_vector_assistenON. Habilita la extensión vector assist con el siguiente comando en la base de datos que deseas usar:
CREATE EXTENSION vector_assist CASCADE;Esto genera el esquema
vector_assist, que usa vector assist.
Usa vector assist para implementar una carga de trabajo vectorial
Para usar vector assist para implementar y administrar una carga de trabajo vectorial, debes hacer lo siguiente:
- Define tu especificación vectorial
- Consulta las recomendaciones de vector assist
- Aplica las recomendaciones de vector assist
Define tu especificación vectorial
Definir la especificación vectorial, o vector spec es el primer paso para usar vector assist. Según el tipo de carga de trabajo vectorial, los campos que usas para definir tu vector spec pueden ser diferentes.
Por ejemplo, si deseas habilitar la búsqueda semántica en una columna específica
de una tabla, ejecuta la
vector_assist.define_spec
función para definir tu vector spec:
SELECT vector_assist.define_spec(
table_name => 'TABLE_NAME',
vector_column_name => 'VECTOR_COLUMN_NAME',
target_recall => TARGET_RECALL,
tune_vector_index => TUNE_INDEX
);
Reemplaza los siguientes parámetros:
- TABLE_NAME: el nombre de la tabla que deseas usar en tu carga de trabajo vectorial.
- VECTOR_COLUMN_NAME: la columna en la que deseas realizar una búsqueda semántica.
- TARGET_RECALL: el objetivo de recuperación que deseas que cumpla vector assist.
- TUNE_INDEX: un valor booleano que especifica si vector assist ajusta los índices vectoriales en tu carga de trabajo.
Para ver una lista completa de todos los parámetros disponibles para la especificación vectorial, consulta la referencia de vector assist.
Después de ejecutar la consulta para crear tu especificación vectorial, vector assist genera automáticamente pasos, llamados recomendaciones, que debes ejecutar para implementar tu carga de trabajo vectorial.
Consulta las recomendaciones de vector assist
Para ver las recomendaciones generadas por vector assist con tu
especificación vectorial, ejecuta la
vector_assist.get_recommendations
función:
SELECT vector_assist.get_recommendations(
spec_id => 'SPEC_ID'
);
Reemplaza los siguientes parámetros:
- SPEC_ID: el ID de especificación de la especificación vectorial para la que deseas ver las recomendaciones.
Muestra una tabla llamada vector_assist.RECOMMENDATIONS que contiene todas las recomendaciones. Cada recomendación se almacena en una tabla con el spec_id asociado. Por lo general, cada recomendación contiene la consulta en SQL que debes ejecutar, una explicación detallada de la recomendación y otra información pertinente que explica la recomendación.
Aplica las recomendaciones de vector assist
Puedes aplicar las recomendaciones generadas de forma individual o en conjunto.
Para aplicar una recomendación específica, ejecuta la
vector_assist.apply_recommendation
función:
SELECT vector_assist.apply_recommendation(
recommendation_id => 'RECOMMENATION_ID',
);
Reemplaza los siguientes parámetros:
- RECOMMENDATION_ID: el ID de la recomendación de vector assist
que deseas aplicar desde la tabla
vector_assist.RECOMMENDATIONS.
Para aplicar todas las recomendaciones juntas, ejecuta la
vector_assist.apply_spec
función con el parámetro spec_id o table_name:
SELECT vector_assist.apply_spec(
spec_id => 'SPEC_ID',
table_name => 'TABLE_NAME'
);
Reemplaza los siguientes parámetros:
- SPEC_ID: el ID de la especificación vectorial que deseas usar.
- TABLE_NAME: el nombre de la tabla que usaste para definir tu especificación vectorial.
De manera opcional, también puedes ingresar los parámetros schema_name o column_name.
Una vez que aplicas las recomendaciones generadas por vector assist, el índice vectorial está listo para usarse.
Genera búsquedas
Puedes usar vector assist para ayudarte a crear búsquedas optimizadas para tus cargas de trabajo vectoriales implementadas con la especificación vectorial de la carga de trabajo y el índice vectorial generado. Para generar una búsqueda optimizada, ejecuta
la vector_assist.generate_query
función:
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'
);
Reemplaza los siguientes parámetros:
- SPEC_ID: el ID de la especificación que deseas usar.
- TABLE_NAME: el nombre de la tabla que usaste para definir tu especificación vectorial.
- COLUMN_NAME: el nombre de la columna de texto original que definiste en tu especificación vectorial.
- SEARCH_TEXT: el texto que deseas buscar en la columna.
- TOP_K: la cantidad de vecinos más cercanos que se mostrarán.
- TARGET_RECALL: el objetivo de recuperación que deseas que cumpla vector assist.
- FILTER_EXPRESSION: cualquier filtro para la búsqueda, por ejemplo, el filtrado basado en otras columnas.
Para ver una lista completa de todos los parámetros disponibles para generar una búsqueda, consulta la referencia de vector assist.
El resultado de esta función muestra texto que contiene una consulta en SQL. Puedes ejecutar o guardar esta consulta en SQL según sea necesario.
¿Qué sigue?
- Obtén más información sobre vector assist.
- Referencia de vector assist.