Exporter des embeddings de Spanner vers Vertex AI Vector Search
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Vertex AI Vector Search permet aux utilisateurs de rechercher des éléments sémantiquement similaires à l'aide d'embeddings vectoriels.
Le workflow Spanner vers Vertex AI Vector Search vous permet d'intégrer votre base de données Spanner à Vector Search pour effectuer une recherche de similarité vectorielle sur vos données Spanner.
Le diagramme suivant illustre le workflow d'application de bout en bout qui vous permet d'activer et d'utiliser Vector Search sur vos données Spanner :
Utilisez le workflow Spanner vers Vertex AI Vector Search, déployé à l'aide de Workflows, pour exporter et importer des embeddings dans un index Vector Search. Vous pouvez utiliser Cloud Scheduler pour planifier périodiquement ce workflow afin de maintenir votre index Vector Search à jour avec les dernières modifications apportées à vos embeddings dans Spanner.
Effectuez une recherche de similarité vectorielle à l'aide de votre index Vector Search.
Interrogez l'index de recherche vectorielle pour rechercher et trouver des résultats pour des éléments sémantiquement similaires. Vous pouvez effectuer des requêtes à l'aide d'un point de terminaison public ou via l'appairage de VPC.
Exemple d'utilisation
Voici un cas d'utilisation illustratif de Vector Search : un marchand en ligne qui dispose d'un inventaire de centaines de milliers d'articles. Dans ce scénario, vous êtes un développeur pour un marchand en ligne et vous souhaitez utiliser la recherche par similarité vectorielle sur votre catalogue de produits dans Spanner pour aider vos clients à trouver des produits pertinents en fonction de leurs requêtes de recherche.
Suivez les étapes 1 et 2 du workflow général pour générer des embeddings vectoriels pour votre catalogue de produits et synchroniser ces embeddings avec Vector Search.
Imaginez maintenant qu'un client qui parcourt votre application effectue une recherche telle que "meilleurs shorts de sport à séchage rapide que je peux porter dans l'eau". Lorsque votre application reçoit cette requête, vous devez générer un embedding de requête pour cette requête de recherche à l'aide de la fonction SQL ML.PREDICT de Spanner. Veillez à utiliser le même modèle d'embedding que celui utilisé pour générer les embeddings de votre catalogue de produits.
Interrogez ensuite l'index Vector Search pour obtenir les ID de produits dont les embeddings correspondants sont semblables à l'embedding de la requête généré à partir de la requête de recherche de votre client. L'index de recherche peut recommander des ID de produits pour des articles sémantiquement similaires, tels que des shorts de wakeboard, des vêtements de surf et des maillots de bain.
Une fois que la recherche vectorielle a renvoyé ces ID de produits similaires, vous pouvez interroger Spanner pour obtenir les descriptions, le nombre d'articles en stock, le prix et d'autres métadonnées pertinentes des produits, puis les afficher à votre client.
Pour en savoir plus sur le workflow Spanner vers Vertex AI Vector Search, consultez le dépôt GitHub.
En savoir plus sur le package spanner-analytics Open Source qui facilite les opérations d'analyse de données courantes en Python et inclut des intégrations avec les notebooks Jupyter.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/17 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/08/17 (UTC)."],[],[],null,["# Export embeddings from Spanner to Vertex AI Vector Search\n\n[Vertex AI Vector Search](/vertex-ai/docs/vector-search/overview)\nallows users to search for semantically similar items using vector embeddings.\nUsing the [Spanner To Vertex AI Vector Search\nWorkflow](https://github.com/cloudspannerecosystem/spanner-ai/tree/main/vertex-vector-search/workflows#readme),\nyou can integrate your Spanner database with\nVector Search to perform a vector similarity search on your\nSpanner data.\n\nThe following diagram shows the end-to-end application workflow of how\nyou can enable and use Vector Search on your Spanner\ndata:\n\nThe general workflow is as follows:\n\n1. **Generate and store vector embeddings.**\n\n You can generate vector embeddings of your data, then store and\n manage them in Spanner with your operational data. You can\n generate embeddings with Spanner's `ML.PREDICT` SQL\n function to [access the Vertex AI text embedding model](/spanner/docs/ml-tutorial-embeddings#generate-store-embeddings)\n or [use other embedding models deployed to Vertex AI](/spanner/docs/ml-tutorial).\n2. **Sync embeddings to Vector Search.**\n\n Use the [Spanner To Vertex AI Vector Search Workflow](https://github.com/cloudspannerecosystem/spanner-ai/tree/main/vertex-vector-search/workflows#readme),\n which is deployed using [Workflows](/workflows/docs/overview) to\n export and upload embeddings into a Vector Search index. You can use\n Cloud Scheduler to periodically schedule this workflow to keep your\n Vector Search index up to date with the latest changes to your\n embeddings in Spanner.\n3. **Perform vector similarity search using your Vector Search index.**\n\n Query the Vector Search index to search and find results for\n semantically similar items. You can query using a [public endpoint](/vertex-ai/docs/vector-search/query-index-public-endpoint)\n or through [VPC peering](/vertex-ai/docs/vector-search/query-index-vpc).\n\nExample use case\n----------------\n\nAn illustrative use case for Vector Search is an online\nretailer who has an inventory of hundreds of thousands of items. In this\nscenario, you are a developer for an online retailer, and you would\nlike to use vector similarity search on your product catalog in\nSpanner to help your customers find relevant products based on\ntheir search queries.\n\nFollow step 1 and step 2 presented in the general workflow to generate vector\nembeddings for your product catalog, and sync these embeddings to\nVector Search.\n\nNow imagine a customer browsing your application performs a search such as\n\"best, quick-drying sports shorts that I can wear in the water\". When your\napplication receives this query, you need to generate a request embedding for\nthis search request using the Spanner [`ML.PREDICT`](/spanner/docs/reference/standard-sql/ml-functions#mlpredict)\nSQL function. Make sure to use the same embedding model used to generate the\nembeddings for your product catalog.\n\nNext, query the Vector Search index for product IDs whose\ncorresponding embeddings are similar to the request embedding generated from\nyour customer's search request. The search index might recommend product IDs for\nsemantically similar items such as wakeboarding shorts, surfing apparel, and\nswimming trunks.\n\nAfter Vector Search returns these similar product IDs, you can query\nSpanner for the products' descriptions, inventory count, price,\nand other metadata that are relevant, and display them to your customer.\n\nYou can also use [generative AI](/vertex-ai/generative-ai/docs/overview)\nto process the returned results from Spanner before displaying\nthem to your customer. For example, you might use Google's large generative AI\nmodels to generate a concise summary of the recommended products. For more\ninformation, see this tutorial on how to\n[use Generative AI to get personalized recommendations in an ecommerce application](/spanner/docs/ml-tutorial-generative-ai).\n\nWhat's next\n-----------\n\n- Learn how to [generate embeddings](/spanner/docs/ml-tutorial-embeddings) using Spanner.\n- Learn more about [AI's multitool: Vector embeddings](https://cloud.google.com/blog/topics/developers-practitioners/meet-ais-multitool-vector-embeddings)\n- Learn more about machine learning and embeddings in our [crash course on embeddings](https://developers.google.com/machine-learning/crash-course/embeddings/video-lecture).\n- Learn more about the Spanner To Vertex AI Vector Search Workflow, see the [GitHub repository](https://github.com/cloudspannerecosystem/spanner-ai/tree/main/vertex-vector-search/workflows).\n- Learn more about the [open source spanner-analytics package](https://github.com/cloudspannerecosystem/spanner-analytics/) that facilitates common data-analytic operations in Python and includes integrations with Jupyter Notebooks."]]