- Simplification de 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.
- Automatiser 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 votre spécification vectorielle définie et d'un algorithme d'optimisation automatique qui calcule la configuration d'index optimale.
- Transparence et contrôle : des explications claires sont fournies pour chaque recommandation lorsque vous automatisez des tâches. Vous pouvez ainsi examiner, modifier et appliquer les recommandations à votre rythme.
- Prototypage rapide : vous permet de déployer rapidement une configuration de recherche vectorielle bien ajustée, ce qui réduit le temps nécessaire pour passer du concept à la production.
- Facilité d'utilisation : simplifie la complexité de la recherche sémantique, comblant ainsi l'écart entre les exigences commerciales et techniques.
L'assistance vectorielle vous permet de créer des applications de bout en bout avec des fonctionnalités de recherche sémantique grâce à une configuration simplifiée.
Fonctionnement de l'assistance vectorielle
L'assistance vectorielle vous demande de définir vos spécifications vectorielles. Le framework utilise ces spécifications vectorielles, également appelées spécifications de vecteur, pour générer les étapes nécessaires à la création d'un index vectoriel. Vector Assist fournit les étapes nécessaires au déploiement de votre charge de travail vectorielle sous forme de recommandations. Chaque fois que vous modifiez votre spécification de vecteur, l'assistance vectorielle régénère les recommandations.
Une fois que vous avez généré l'index vectoriel en suivant ces étapes recommandées, vous pouvez utiliser l'assistance vectorielle pour générer des requêtes de recherche optimisées.
Spécification de l'assistance vectorielle
La première étape pour utiliser l'assistance vectorielle consiste à configurer la spécification de votre index vectoriel, ou spécification vectorielle. Une spécification de vecteur est un objet dans lequel vous définissez l'intention et les exigences de votre charge de travail vectorielle. Il contient toutes les informations nécessaires, y compris les suivantes :
- Tableaux et colonnes pertinentes (texte ou vecteur)
- Préférences du modèle d'embedding (si vous utilisez la génération d'embeddings)
- Type d'index préféré :
HNSWouIVFFlat.ScaNNn'est pas accepté. - Cibler le rappel pour les requêtes de recherche
- Limites de mémoire
Vous définissez la spécification du vecteur à l'aide de la fonction vector_assist.define_spec et vous pouvez la modifier à tout moment. Le système attribue à chaque spécification un ID unique et l'enregistre dans une table appelée vector_assist.VECTOR_SPECS.
L'assistance vectorielle déduit les entrées de spécification et un algorithme d'optimisation automatique qui calcule la configuration d'index optimale. Bien que l'assistance vectorielle utilise ces valeurs pour simplifier le processus de développement, vous pouvez toujours les personnaliser selon vos préférences.
Recommandations Vector Assist
Une fois que vous avez défini la spécification du vecteur, l'assistance vectorielle 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 selon vos spécifications. Chaque recommandation inclut les éléments suivants :
- Requête SQL à exécuter.
- Une explication détaillée de ce que fait la requête et pourquoi elle est recommandée.
- 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.
L'assistance vectorielle stocke les recommandations dans un tableau appelé vector_assist.RECOMMENDATIONS. Vous pouvez les examiner, les modifier et les appliquer individuellement ou dans leur ensemble.
Chaque fois que vous modifiez la spécification vectorielle de votre charge de travail, l'assistance vectorielle régénère les recommandations pour qu'elles soient conformes aux spécifications mises à jour.
Limites
Lorsque vous utilisez l'assistance vectorielle avec vos instances AlloyDB Omni, tenez compte des limites suivantes :
- L'assistance vectorielle n'est compatible qu'avec PostgreSQL version 17 et ultérieures.
- Bien que l'assistance vectorielle soit compatible avec toutes les versions de
pgvector, nous vous recommandons d'utiliser la version la plus récente pour bénéficier de performances et de fonctionnalités optimales. Pour en savoir plus, consultez le journal des modifications depgvector. - Si votre instance utilise l'extension
google_ml_integrationpour générer des embeddings, ses restrictions s'appliquent également lorsque vous utilisez l'assistance vectorielle. Pour en savoir plus, consultez Présentation de l'enregistrement et de l'appel de modèles d'IA distants dans AlloyDB Omni. - L'assistance vectorielle n'est compatible qu'avec les types d'index
HNSWetIVFFlat. Les types d'indexScaNNne sont pas acceptés. - L'assistance vectorielle n'est compatible qu'avec les modèles d'embedding textuel pour la génération automatique d'embeddings et utilise
text_column_namecomme paramètre d'entrée. Si votre charge de travail vectorielle nécessite un modèle d'embedding multimodal, utilisez l'extensiongoogle_ml_integrationou une autre extension pour générer manuellement ces embeddings avant d'utiliser l'assistance vectorielle pour activer la recherche sémantique sur ces embeddings.