AI_SIMILARITY¶
Calcul d’un score de similarité basé sur la valeur de similarité du cosinus vectoriel des vecteurs d’intégration des entrées. Prend actuellement en charge le calcul des similitudes de texte et d’image.
Syntaxe¶
Application de AI_SIMILARITY aux entrées de chaînes ou d’images :
AI_SIMILARITY( <input1>, <input2> )
Spécification de l’objet config :
AI_SIMILARITY( <input1>, <input2>, <config_object> )
Arguments¶
Obligatoire :
Si vous spécifiez des chaînes d’entrée :
input1
,{input2}
Les chaînes contenant le texte que vous comparez et que vous utilisez pour calculer le score de similarité.
Si vous spécifiez des images d’entrée :
input1
,input2
Type de données FILE référençant les images à comparer.
Note
AI_SIMILARITY ne permet pas de calculer la similarité entre les entrées texte et image.
Facultatif :
config_object
Un OBJECT contenant des paires clé-valeur utilisées pour configurer le modèle.
Clé |
Type |
Par défaut |
Description |
---|---|---|---|
|
Pour l’entrée STRING, la valeur par défaut est |
Le modèle d’intégration utilisé pour l’intégration. Valeurs prises en charge :
|
Renvoie¶
Renvoie une valeur flottante comprise entre -1 et 1 qui représente le score de similarité calculé à l’aide de la similarité vectorielle entre deux vecteurs d’intégration pour les entrées.
Exigences en matière de contrôle d’accès¶
Les utilisateurs doivent utiliser un rôle auquel le rôle de base de données SNOWFLAKE.CORTEX_USER a été accordé. Voir Privilèges requis pour plus d’informations sur ce privilège.
Exemples¶
AI_SIMILARITY : texte¶
Dans cet exemple, la fonction calcule un score de similarité entre les deux entrées d’instruction 'J'aime ce plat'
et 'Ce plat est très bon'
.
SELECT AI_SIMILARITY('I like this dish', 'This dish is very good');
Nous pouvons également calculer la similarité sur des colonnes de texte.
SELECT
review
FROM restaurant_reviews
ORDER BY SNOWFLAKE.CORTEX.AI_SIMILARITY(review, 'I love the food here!');
AI_SIMILARITY : images¶
Dans cet exemple, la fonction calcule un score de similarité entre les deux images, cat.jpg
et 2cats.jpg
, stockées dans une zone de préparation Snowflake @file_stage
.
SELECT AI_SIMILARITY(TO_FILE('@file_stage', 'cat.jpg'), TO_FILE('@file_stage', '2cats.jpg'));
Nous pouvons également calculer la similarité entre les images à l’aide de la table du répertoire de Snowflake pour la zone de préparation contenant les images.
SELECT
to_file('@file_stage', relative_path)
FROM directory(@file_stage)
WHERE snowflake.cortex.ai_similarity(f, to_file(@file_stage, 'cat.jpg')) >= 0.5;
Limitations¶
Les fonctions AI de Snowflake ne prennent pas en charge l’actualisation incrémentielle des tables dynamiques.
Les fonctions de Snowflake AI ne fonctionnent pas sur les FILEs créés à partir de fichiers de zone de préparation provenant des types de zones de préparation suivants :
Zones de préparation interne avec mode de chiffrement
TYPE = 'SNOWFLAKE_FULL'
Zones de préparation externe avec n’importe quel mode de chiffrement côté client :
TYPE = 'AWS_CSE'
TYPE = 'AZURE_CSE'
Zone de préparation de l’utilisateur, zone de préparation de table
Zone de préparation avec des noms entre guillemets doubles