Exporter des représentations vectorielles continues de Spanner vers Vertex AI Vector Search

Vertex AI Vector Search permet aux utilisateurs de rechercher des éléments sémantiquement similaires à l'aide de représentations vectorielles continues. Utiliser Spanner vers Vertex AI Vector Search le workflow, vous pouvez intégrer votre base de données Spanner Vector Search pour effectuer une recherche par similarité vectorielle sur votre des données Spanner.

Le schéma suivant illustre le workflow de bout en bout de l'application vous pouvez activer et utiliser Vector Search sur votre Spanner données:

Workflow de Spanner vers Vector Search.

Voici le workflow général :

  1. Générer et stocker des représentations vectorielles continues

    Vous pouvez générer des représentations vectorielles continues de vos données, puis stocker les gérer dans Spanner avec vos données opérationnelles. Vous pouvez Générer des représentations vectorielles continues avec le code SQL ML.PREDICT de Spanner pour accéder au modèle textembedding-gecko de Vertex AI ou utilisez d'autres modèles de représentations vectorielles continues déployés dans Vertex AI.

  2. Synchroniser les représentations vectorielles continues avec Vector Search

    Utilisez le workflow de Spanner vers Vertex AI Vector Search. déployé à l'aide de Workflows pour exporter et importer des représentations vectorielles continues dans un index Vector Search. Vous pouvez utiliser Cloud Scheduler pour planifier périodiquement ce workflow afin que votre Index Vector Search à jour avec les dernières modifications apportées à votre de représentations vectorielles continues dans Spanner.

  3. Effectuez une recherche vectorielle par similarité à l'aide de votre index Vector Search.

    Interroger l'index Vector Search pour rechercher et trouver des résultats pour des éléments sémantiquement similaires. Vous pouvez interroger les données à l'aide d'un point de terminaison public. ou via l'appairage de VPC.

Exemple d'utilisation

Pour illustrer ce cas d'utilisation, Vector Search est une application marchand qui dispose d'un stock de centaines de milliers d'articles. Dans ce vous êtes le développeur d'un site marchand souhaitez utiliser la recherche par similarité vectorielle dans votre catalogue de produits Spanner pour aider vos clients à trouver des produits pertinents leurs requêtes de recherche.

Suivez les étapes 1 et 2 présentées dans le workflow général pour générer un vecteur de votre catalogue de produits, puis synchronisez ces représentations Vector Search.

Imaginons maintenant qu'un client parcourant votre application effectue une recherche du type "meilleurs shorts de sport à séchage rapide que je peux porter dans l'eau". Lorsque votre reçoit cette requête, vous devez générer une représentation vectorielle continue de la requête cette requête de recherche à l'aide de la clé Spanner ML.PREDICT fonction SQL. Veillez à utiliser le même modèle de représentation vectorielle continue que celui utilisé pour générer la des représentations vectorielles continues pour votre catalogue de produits.

Ensuite, interrogez l'index Vector Search pour obtenir les ID de produit dont les représentations vectorielles continues correspondantes sont semblables à la représentation vectorielle continue de la requête générée par la requête de recherche de votre client. L'index de recherche peut recommander des ID produit pour des éléments sémantiquement similaires, tels que des shorts de wakeboard, des vêtements de surf et troncs de natation.

Une fois que Vector Search a renvoyé ces ID de produit similaires, vous pouvez effectuer une requête Spanner pour les produits les descriptions, le nombre d'inventaires, le prix et d'autres métadonnées pertinentes, puis les présenter à votre client.

Vous pouvez aussi utiliser l'IA générative pour traiter les résultats renvoyés par Spanner avant d'afficher à votre client. Par exemple, vous pouvez utiliser l'IA générative de Google pour générer un résumé concis des produits recommandés. Pour plus consultez ce tutoriel pour découvrir comment utiliser l'IA générative pour obtenir des recommandations personnalisées dans une application d'e-commerce.

Étape suivante