- Catégories :
Fonctions de chaîne et fonctions binaires (Fonctions AI)
AI_FILTER¶
Classifie les entrées de forme libre en booléen. Il prend actuellement en charge le filtrage des textes et des images.
Disponibilité de la région¶
La table suivante indique les régions où vous pouvez utiliser la fonction AI_FILTER pour le texte et les images :
Type de données
|
AWS US West 2
(Oregon)
|
AWS US East 1
(Virginie du Nord)
|
AWS Europe Central 1
(Francfort)
|
AWS Europe Ouest 1
(Irlande)
|
AWS AP Sud-Est 2
(Sydney)
|
AWS AP Nord-Est 1
(Tokyo)
|
Azure Est US 2
(Virginie)
|
Azure Europe de l’Ouest
(Pays-Bas)
|
AWS
(inter-régionale)
|
|---|---|---|---|---|---|---|---|---|---|
TEXT
|
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
IMAGE
|
✔ |
✔ |
✔ |
✔ |
Syntaxe¶
Application de AI_FILTER à une chaîne d’entrée :
Application de AI_FILTER à une seule image :
Appliquer AI_FILTER à plusieurs colonnes contenant à la fois du texte et des images, en utilisant PROMPT :
Arguments¶
Obligatoire :
Si vous spécifiez une chaîne d’entrée :
inputUne chaîne contenant le texte à classer.
Si vous filtrez sur un fichier :
predicateUne chaîne contenant les instructions pour classer l’entrée du fichier comme
TRUEouFALSE.fileLa colonne dans laquelle le fichier est classé en fonction des instructions spécifiées à l’adresse
predicate. Vous pouvez utiliser IMAGE FILE comme entrée de la fonction AI_FILTER.
Si vous utilisez la fonction PROMPT() pour définir le format des entrées :
Pour les prompts plus compliqués, en particulier avec plusieurs colonnes de fichiers, vous pouvez utiliser PROMPT pour vous aider à créer une input.
La fonction PROMPT() prend en charge le formatage des chaînes et des types de données FILE. Pour une utilisation détaillée, voir Exemples.
Renvoie¶
Renvoie une valeur booléenne qui indique si l’instruction correspond à TRUE ou FALSE pour le texte spécifié.
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 LLM Cortex pour plus d’informations sur ce privilège.
Optimisation des performances et des coûts¶
Par défaut, AI_FILTER inclut une optimisation des performances intégrée dans les requêtes éligibles. Cette optimisation peut fournir des performances 2 à 10 fois plus rapides et jusqu’à 60 % d’utilisation de jetons en moins, avec un impact minimal sur la qualité.
Cette optimisation est déclenchée automatiquement lorsque le moteur de requête détecte un modèle approprié. Comme pour d’autres optimisations de requête, Snowflake ne garantit pas que cette optimisation sera appliquée à chaque requête. Le moteur s’appuie sur le routage adaptatif et la réécriture contextuelle pour exécuter plus efficacement les opérations AI lorsque cela est possible.
Pour désactiver cette optimisation pour votre compte, contactez votre gestionnaire de compte.
Notes sur l’utilisation¶
Pour des performances optimales, suivez ces directives :
Assurez-vous que les colonnes envoyées à AI_FILTER ne contiennent pas de valeurs NULL.
Utilisez du texte brut en anglais pour la chaîne d’entrée ou pour les arguments de PROMPT().
Fournissez des détails sur l’instruction du texte d’entrée. Par exemple, au lieu d’une instruction telle que « semble satisfait », utilisez « Dans la transcription d’assistance suivante, le client semble satisfait ».
Pensez à formuler l’entrée sous forme de question. Par exemple : « Dans la transcription d’assistance suivante, le client semble-t-il satisfait ? »
Exemples¶
AI_FILTER : texte¶
Peut être appelée comme une simple fonction booléenne scalaire sur des constantes de chaîne.
Vous pouvez CONCAT , || des instructions avec des colonnes de texte pour utiliser cette fonction :
Pour faciliter le formatage sur plusieurs colonnes, Snowflake propose PROMPT, par exemple :
Lors de l’évaluation de la qualité de AI_FILTER, il peut être utile de comparer les prédicats candidats d’une colonne à l’autre.
Utilisation de AI_FILTER avec JOIN¶
Vous pouvez utiliser AI_FILTER avec JOIN pour exprimer le lien entre deux tables à l’aide d’un prompt en langue naturelle sur lequel l’AI peut raisonner.
L’exemple suivant joint la table RESUMES à la table JOBS en utilisant un prompt avec la fonction AI_FILTER.
AI_FILTER : images¶
Les exemples suivants filtrent les fichiers images en fonction d’une instruction.
Filtrez les images en fournissant un prédicat d’instruction et la colonne du fichier image :
Limitations¶
Les fonctions AI de Snowflake ne fonctionnent pas sur des FILEs créés à partir de fichiers de préparation provenant des types de zones de préparation suivantes :
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