Présentation de l'assistance vectorielle

Sélectionnez une version de la documentation :

Vector assist est une extension AlloyDB Omni qui simplifie le déploiement et la gestion de vos charges de travail vectorielles. Elle fournit un framework SQL déclaratif qui vous aide à configurer des fonctionnalités de recherche vectorielle prêtes pour la production, telles que la génération d'embeddings, l'optimisation des requêtes et la création d'index. Ce framework réduit la complexité des charges de travail vectorielles en :

  • simplifiant la déclaration d'intention : les exigences (telles que la table, la colonne de texte ou le rappel cible) sont déclarées à l'aide de fonctions SQL ;
  • automatisant les bonnes pratiques : génère des commandes SQL optimisées, également appelées recommandations, pour configurer votre charge de travail vectorielle à l'aide de la spécification vectorielle que vous avez définie et d'un algorithme d'ajustement automatique optimisé qui calcule la configuration d'index optimale ;
  • offrant transparence et contrôle : fournit des explications claires pour chaque recommandation lors de l'automatisation des tâches, ce qui vous permet d'examiner, de modifier et d'appliquer les recommandations à votre rythme ;
  • permettant un prototypage rapide : vous permet de déployer rapidement une configuration de recherche vectorielle bien ajustée, ce qui réduit le délai entre le concept et la production ;
  • mettant l'accent sur la facilité d'utilisation : simplifie la complexité de la recherche sémantique, comblant ainsi le fossé entre les exigences métier et les exigences techniques.

Avec Vector assist, vous pouvez créer des applications de bout en bout avec des fonctionnalités de recherche sémantique grâce à une configuration simplifiée.

Fonctionnement de Vector assist

Vector assist vous oblige à définir vos spécifications vectorielles. Le framework utilise ces spécifications vectorielles, également appelées spécifications vectorielles, pour générer les étapes nécessaires à la création d'un index vectoriel. Vector assist génère les étapes nécessaires au déploiement de votre charge de travail vectorielle sous forme de recommandations. Chaque fois que vous modifiez vos spécifications vectorielles, Vector assist régénère les recommandations.

Une fois que vous avez généré l'index vectoriel à l'aide de ces étapes recommandées, vous pouvez utiliser Vector assist pour générer des requêtes de recherche optimisées.

Spécification de Vector assist

La première étape pour utiliser Vector assist consiste à configurer votre spécification d'index vectoriel, ou spécification vectorielle. Une spécification vectorielle est un objet dans lequel vous définissez l'intention et les exigences de votre charge de travail vectorielle. Elle inclut toutes les informations nécessaires, y compris les suivantes :

  • Tables et colonnes pertinentes (texte ou vecteur)
  • Préférences de modèle d'embedding (si vous utilisez la génération d'embeddings)
  • Type d'index préféré : HNSW ou IVFFlat. ScaNN n'est pas compatible.
  • Rappel cible pour les requêtes de recherche
  • Limites de mémoire

Vous définissez les spécifications vectorielles à l'aide de la vector_assist.define_spec fonction, et vous pouvez les modifier à tout moment. Le système attribue un ID unique à chaque spécification et la stocke dans une table appelée vector_assist.VECTOR_SPECS.

Vector assist déduit les entrées de spécification et un algorithme d'ajustement automatique optimisé qui calcule la configuration d'index optimale. Bien que Vector assist utilise ces valeurs pour simplifier le processus de développement, vous pouvez toujours les personnaliser en fonction de vos préférences.

Recommandations de Vector assist

Une fois que vous avez défini les spécifications vectorielles, Vector assist traite votre entrée et génère des recommandations. Ces recommandations sont une liste ordonnée d'étapes utiles, généralement des commandes SQL, que vous devez exécuter pour déployer votre charge de travail vectorielle conformément à vos spécifications. Chaque recommandation inclut les éléments suivants :

  • La requête SQL à exécuter.
  • Une explication détaillée de ce que fait la requête et de la raison pour laquelle elle est recommandée.
  • Des informations sur les compromis ou les coûts potentiels, tels que la taille estimée de l'index ou la durée de la compilation.

Vector assist stocke les recommandations dans une table appelée vector_assist.RECOMMENDATIONS, et vous pouvez les examiner, les modifier et les appliquer individuellement ou dans leur ensemble.

Chaque fois que vous modifiez les spécifications vectorielles de votre charge de travail, Vector assist régénère les recommandations pour qu'elles soient conformes aux spécifications mises à jour.

Limites

Lorsque vous utilisez Vector assist avec vos instances AlloyDB Omni, tenez compte des limites suivantes :

  • Vector assist n'est compatible qu'avec PostgreSQL 17 et versions ultérieures.
  • Bien que Vector assist soit compatible avec toutes les versions pgvector, nous vous recommandons d'utiliser la version la plus récente pour des performances optimales et une prise en charge des fonctionnalités. Pour en savoir plus, consultez le pgvector journal des modifications.
  • Si votre instance utilise l'extension google_ml_integration pour générer des embeddings, ses restrictions s'appliquent également lorsque vous utilisez Vector assist. Pour en savoir plus, consultez Présentation de l'enregistrement et de l'appel de modèles d'IA distants dans AlloyDB Omni.
  • Vector assist n'est compatible qu'avec les types d'index HNSW et IVFFlat. Les types d'index ScaNN ne sont pas compatibles.
  • Vector assist n'est compatible qu'avec les modèles d'embedding textuel pour la génération automatique d'embeddings et utilise text_column_name comme paramètre d'entrée. Si votre charge de travail vectorielle nécessite un modèle d'embedding multimodal, utilisez l'extension google_ml_integration ou une autre extension pour générer manuellement ces embeddings avant d'utiliser Vector assist pour activer la recherche sémantique sur ces embeddings.

Étape suivante