Présentation de la recherche vectorielle

Pour envoyer des commentaires ou demander de l'aide concernant cette fonctionnalité, envoyez un e-mail à l'adresse bq-vector-search@google.com.

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 est utilisée pour renvoyer des résultats exacts lorsqu'un index vectoriel n'est pas disponible. Vous pouvez choisir d'utiliser la force brute pour obtenir des résultats exacts même lorsqu'un index vectoriel est disponible.

Tarification

L'instruction CREATE VECTOR INDEX et la fonction VECTOR_SEARCH utilisent les tarifs de calcul de 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 dans votre organisation est inférieure à la limite de 20 To. 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 consulter la taille de stockage d'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 des index vectoriels.

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 de la page VECTOR_SEARCH. Ces règles ne s'appliquent pas à la génération d'index vectoriels.

Problèmes connus

Pour certaines requêtes de recherche vectorielle émises à partir d'un projet sous une réservation, l'index vectoriel ne peut pas être utilisé. En attendant qu'une solution soit disponible, contactez bq-vector-search@google.com si vous avez besoin d'aide pour résoudre ce problème.

Étapes suivantes