Vector Search est basé sur la technologie de recherche vectorielle développée par Google Research. Il vous permet d'exploiter l'infrastructure qui est à la base des produits Google, tels que la recherche Google, YouTube et Play.
Introduction
Vector Search peut effectuer des recherches à partir de milliards d'éléments sémantiquement similaires ou présentant des relations sémantiques. Un service de mise en correspondance des similarités vectorielles présente de nombreux cas d'utilisation tels que l'implémentation de moteurs de recommandations, de moteurs de recherche, de chatbots et de classification de texte.
Voici un cas d'utilisation possible de Vector Search : un marchand en ligne qui dispose d'un inventaire de centaines de milliers d'articles vestimentaires. Dans ce scénario, l'API d'embeddings multimodaux peut l'aider à créer des embeddings de ces articles et utiliser Vector Search pour les mettre en correspondance avec des requêtes textuelles sur les images les plus sémantiquement similaires. Par exemple, il peut rechercher "robe d'été jaune", puis Vector Search affiche les articles les plus similaires. Vector Search peut effectuer des recherches à grande échelle, avec un nombre élevé de requêtes par seconde (RPS), un taux de rappel élevé, une faible latence et une meilleure rentabilité.
L'utilisation d'embeddings ne se limite pas aux mots ou au texte. Vous pouvez générer des embeddings sémantiques pour de nombreux types de données, y compris des images, des sons, des vidéos ou des préférences utilisateur. Pour générer un embedding multimodal avec Vertex AI, consultez la page Obtenir des embeddings multimodaux.
Utiliser Vector Search pour la mise en correspondance sémantique
La mise en correspondance sémantique peut être simplifiée en quelques étapes. Tout d'abord, vous devez générer des représentations vectorielles continues de nombreux éléments (en dehors de Vector Search). Ensuite, vous importez vos embeddings dans Google Cloud, puis vous associez vos données à Vector Search. Une fois vos embeddings ajoutés à Vector Search, vous pouvez créer un index pour exécuter des requêtes afin d'obtenir des recommandations ou des résultats.
Générer un embedding
Générez un embedding pour votre ensemble de données. Cela implique de prétraiter les données de manière à faciliter la recherche des voisins approximatifs les plus proches (ANN). Vous pouvez le faire en dehors de Vertex AI ou utiliser l'IA générative sur Vertex AI pour créer un embedding. L'IA générative sur Vertex AI vous permet de créer des embeddings de texte et multimodales.
Ajouter un embedding à Cloud Storage
Importez votre embedding dans Cloud Storage afin de pouvoir l'appeler depuis le service Vector Search.
Effectuer une importation dans Vector Search
Associez vos embeddings à Vector Search pour effectuer une recherche des plus proches voisins. Vous devez créer un index à partir de votre embedding que vous pouvez déployer sur un point de terminaison d'index de manière à l'interroger. La requête renvoie les voisins approximatifs les plus proches. Pour créer un index, consultez la page Gérer les index. Pour déployer votre index sur un point de terminaison, consultez la page Déployer et gérer des points de terminaison d'index.
Évaluer les résultats
Une fois que vous avez obtenu les résultats des voisins approximatifs les plus proches, vous pouvez les évaluer pour voir dans quelle mesure ils répondent à vos besoins. Si les résultats ne sont pas suffisamment précis, vous pouvez ajuster les paramètres de l'algorithme ou activer le scaling pour accepter un plus grand nombre de requêtes par seconde. Pour ce faire, mettez à jour le fichier de configuration dans lequel votre index est défini. Pour en savoir plus, consultez Configurer les paramètres d'index.
Terminologie de Vector Search
Cette liste contient certains termes clés que vous devez comprendre pour utiliser Vector Search :
- Vecteur : un vecteur est une liste de valeurs flottantes ayant une magnitude et une direction. Il permet de représenter n'importe quel type de données, comme des nombres, des points dans l'espace et des directions.
- Embedding : un embedding (ou "plongement") est un type de vecteur utilisé pour représenter les données de manière à capturer leur signification sémantique. Les embeddings sont généralement créés à l'aide de techniques de machine learning et sont souvent utilisés dans le traitement du langage naturel (TLN) et d'autres applications de machine learning.
- Embeddings denses: les embeddings denses représentent la signification sémantique du texte à l'aide de tableaux contenant principalement des valeurs non nulles. Avec les embeddings denses, des résultats de recherche similaires peuvent être renvoyés en fonction de la similarité sémantique.
- Embeddings creux: les embeddings creux représentent la syntaxe du texte à l'aide de tableaux à haute dimensionnalité contenant très peu de valeurs non nulles par rapport aux embeddings denses. Les embeddings espacés sont souvent utilisés pour les recherches par mot clé.
- Recherche hybride: la recherche hybride utilise des embeddings creux et denses, ce qui vous permet de combiner la recherche par mot clé et la recherche sémantique. Vector Search est compatible avec la recherche basée sur des embeddings denses. En tant que fonctionnalité Preview publique, Vector Search est compatible avec les embeddings creux et la recherche hybride.
- Index : ensemble de vecteurs déployés pour la recherche de similarités. Les vecteurs peuvent être ajoutés à un index ou supprimés de celui-ci. Les requêtes de recherche de similarités sont émises sur un index spécifique et recherchent les vecteurs de cet index.
- Vérité terrain : terme faisant référence à la vérification de l'exactitude du machine learning par rapport au monde réel (par exemple, un ensemble de données de vérité terrain).
Rappel : pourcentage de voisins les plus proches renvoyés par l'index qui sont de vrais voisins les plus proches. Par exemple, si une requête de 20 voisins les plus proches renvoie un résultat de 19 voisins les plus proches de "vérité terrain", le rappel est de 19 / 20 x 100 = 95 %.
Restreindre : fonctionnalité qui limite les recherches à un sous-ensemble de l'index à l'aide de règles booléennes. La restriction est également appelée "filtrage". Vector Search vous permet d'utiliser le filtrage numérique et le filtrage des attributs de texte.
Étapes suivantes
- Démarrez en moins d'une heure avec le guide de démarrage rapide de Vector Search.
- Consultez les conditions préalables et les embeddings sur la page Avant de commencer.
- Découvrez comment configurer le format et la structure des données d'entrée.
- Consultez d'autres tutoriels sur les notebooks Vector Search dans la présentation des tutoriels.
- Découvrez comment exporter des embeddings de Spanner vers Vector Search.