Présentation de Vector Search

Ce document présente la recherche vectorielle dans BigQuery. La recherche vectorielle vous permet de rechercher des représentations vectorielles continues pour identifier des entités sémantiquement similaires.

Les représentations vectorielles continues sont des vecteurs numériques de grande dimension qui représentent une entité donnée, comme un exemple de texte ou un fichier audio. Les modèles de machine learning (ML) utilisent des représentations vectorielles continues pour encoder la sémantique concernant ces entités afin de faciliter leur raisonnement et leur comparaison. Par exemple, une opération courante dans les modèles de clustering, de classification et de recommandation consiste à mesurer la distance entre les vecteurs dans un espace de représentation vectorielle afin de trouver les éléments les plus sémantiquement similaires.

Pour effectuer une recherche vectorielle, vous devez utiliser la fonction VECTOR_SEARCH et éventuellement un index vectoriel. Lorsqu'un index vectoriel est utilisé, VECTOR_SEARCH utilise la technique de recherche approximative du voisin le plus proche pour améliorer les performances de la recherche vectorielle, avec le compromis consistant à réduire le rappel et ainsi renvoyer des résultats plus approximatifs. La force brute permet de renvoyer des résultats exacts lorsqu'un indice vectoriel n'est pas disponible. Vous pouvez choisir d'utiliser la force brute pour obtenir des résultats exacts, même lorsqu'un indice vectoriel est disponible.

Cas d'utilisation

La combinaison de la génération d'embeddings et de la recherche vectorielle permet de nombreux cas d'utilisation intéressants, la génération augmentée de récupération (RAG) étant la génération canonique. Voici d'autres cas d'utilisation possibles :

  • À partir d'un lot de nouvelles demandes d'assistance, trouvez plusieurs demandes résolues similaires pour chacune. Transmettez les informations sur les demandes résolues à un grand modèle de langage (LLM) à utiliser comme contexte lors de la synthèse et de la suggestion de solutions pour les nouvelles demandes d'assistance.
  • À partir d'une entrée de journal d'audit, identifiez les entrées les plus pertinentes au cours des 30 derniers jours.
  • Générez des embeddings à partir des données de profils de patients, puis utilisez la recherche vectorielle pour trouver des patients ayant des profils similaires afin d'explorer les plans de traitement réussis prescrits à cette cohorte de patients.
  • Étant donné les embeddings représentant les moments pré-accidentels de tous les capteurs et caméras d'un parc de bus scolaires, trouvez des moments similaires sur tous les autres véhicules du parc pour une analyse plus approfondie, un réglage et un réentraînement des modèles qui régissent les engagements des fonctionnalités de sécurité.
  • À partir d'une image, recherchez les images les plus proches dans une table d'objets BigQuery, puis transmettez-les à un modèle pour générer des légendes.

Tarification

L'instruction CREATE VECTOR INDEX et la fonction VECTOR_SEARCH utilisent la tarification de calcul BigQuery. Pour l'instruction CREATE VECTOR INDEX, seule la colonne indexée est prise en compte dans les octets traités.

Le traitement requis pour créer et actualiser vos index vectoriels est gratuit lorsque la taille totale des données de table indexées est inférieure à votre limite par organisation. Pour accepter l'indexation au-delà de cette limite, vous devez fournir votre propre réservation pour la gestion des jobs de gestion des index. Les index vectoriels entraînent des coûts de stockage lorsqu'ils sont actifs. Vous pouvez trouver la taille de l'espace de stockage de l'index dans la vue INFORMATION_SCHEMA.VECTOR_INDEXES. Si l'index vectoriel n'est pas encore à 100% de la couverture, vous êtes toujours facturé pour tout le stockage d'index indiqué dans la vue INFORMATION_SCHEMA.VECTOR_INDEXES.

Quotas et limites

Pour en savoir plus, consultez la section Limites de l'index vectoriel.

Limites

  • Les requêtes contenant la fonction VECTOR_SEARCH ne sont pas accélérées par BigQuery BI Engine.
  • Les règles de sécurité et de gouvernance des données BigQuery s'appliquent à l'utilisation de VECTOR_SEARCH. Pour en savoir plus, consultez la section Limites dans VECTOR_SEARCH. Ces règles ne s'appliquent pas à la génération d'index vectoriels.

Étapes suivantes