Vertex AI Vector Search permite a los usuarios buscar elementos semánticamente similares mediante inserciones de vectores. Con el flujo de trabajo de Spanner a Vertex AI Vector Search, puedes integrar tu base de datos de Spanner con Vector Search para realizar una búsqueda de similitud de vectores en tus datos de Spanner.
En el siguiente diagrama se muestra el flujo de trabajo de la aplicación de principio a fin para habilitar y usar Vector Search en tus datos de Spanner:
El flujo de trabajo general es el siguiente:
Generar y almacenar incrustaciones de vectores.
Puede generar inserciones de vectores de sus datos y, a continuación, almacenarlos y gestionarlos en Spanner junto con sus datos operativos. Puedes generar inserciones con la función
ML.PREDICT
SQL de Spanner para acceder al modelo de inserciones de texto de Vertex AI o usar otros modelos de inserciones desplegados en Vertex AI.Sincroniza las inserciones con Vector Search.
Usa el flujo de trabajo de Spanner a Vertex AI Vector Search, que se despliega con Workflows para exportar y subir inserciones a un índice de Vector Search. Puedes usar Cloud Scheduler para programar periódicamente este flujo de trabajo y mantener tu índice de Vector Search actualizado con los últimos cambios en tus inserciones de Spanner.
Realiza una búsqueda de similitud de vectores con tu índice de Vector Search.
Consulta el índice de búsqueda vectorial para buscar y encontrar resultados de elementos semánticamente similares. Puedes hacer consultas mediante un endpoint público o a través del emparejamiento de VPCs.
Caso práctico de ejemplo
Un caso práctico ilustrativo de la búsqueda vectorial es el de una tienda online que tiene un inventario de cientos de miles de artículos. En este caso, eres desarrollador de una tienda online y quieres usar la búsqueda de similitud vectorial en tu catálogo de productos de Spanner para ayudar a tus clientes a encontrar productos relevantes en función de sus consultas de búsqueda.
Sigue los pasos 1 y 2 del flujo de trabajo general para generar embeddings vectoriales de tu catálogo de productos y sincronizar estos embeddings con la búsqueda vectorial.
Ahora, imagina que un cliente que está navegando por tu aplicación hace una búsqueda como "pantalón corto deportivo de secado rápido que pueda llevar en el agua". Cuando tu aplicación reciba esta consulta, tendrás que generar una inserción de solicitud para esta solicitud de búsqueda mediante la función SQL ML.PREDICT
de Spanner. Asegúrate de usar el mismo modelo de inserción que se ha usado para generar las inserciones de tu catálogo de productos.
A continuación, consulta el índice de búsqueda vectorial para obtener los IDs de los productos cuyas inserciones correspondientes sean similares a la inserción de la solicitud generada a partir de la solicitud de búsqueda de tu cliente. El índice de búsqueda puede recomendar IDs de producto para artículos semánticamente similares, como pantalones cortos de wakeboard, ropa de surf y bañadores.
Una vez que la búsqueda vectorial devuelva estos IDs de productos similares, puede consultar Spanner para obtener las descripciones, el recuento de inventario, el precio y otros metadatos relevantes de los productos, y mostrárselos a su cliente.
También puedes usar la IA generativa para procesar los resultados devueltos por Spanner antes de mostrárselos a tu cliente. Por ejemplo, puedes usar los modelos de IA generativa grandes de Google para generar un resumen conciso de los productos recomendados. Para obtener más información, consulta este tutorial sobre cómo usar la IA generativa para obtener recomendaciones personalizadas en una aplicación de comercio electrónico.
Siguientes pasos
- Consulta cómo generar inserciones con Spanner.
- Más información sobre la herramienta multifunción de la IA: las inserciones vectoriales
- Consulta más información sobre el aprendizaje automático y las inserciones en nuestro curso intensivo sobre inserciones.
- Para obtener más información sobre el flujo de trabajo de Spanner a Vertex AI Vector Search, consulta el repositorio de GitHub.
- Consulta más información sobre el paquete spanner-analytics de código abierto, que facilita las operaciones de análisis de datos habituales en Python e incluye integraciones con cuadernos de Jupyter.