Catégories :

Fonctions de chaîne et fonctions binaires (Fonctions AI)

AI_EMBED

Note

AI_EMBED est la version actualisée de EMBED_TEXT_1024 (SNOWFLAKE.CORTEX) and EMBED_TEXT_768 (SNOWFLAKE.CORTEX). Pour obtenir les dernières fonctionnalités, utilisez AI_EMBED.

Crée un vecteur d’intégration à partir d’un texte ou d’une image. Les intégrations sont des représentations numériques abstraites des caractéristiques d’un texte ou d’une image qui peuvent être utilisées pour déterminer le degré de similitude entre des textes ou des images, ce qui peut servir à la recherche sémantique, au clustering, à la classification et à d’autres tâches.

Disponibilité de la région

Le tableau suivant indique les régions dans lesquelles vous pouvez utiliser la fonction AI_EMBED 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)
Texte

Image

Syntaxe

AI_EMBED( <model> , <input> )
Copy

Arguments

Obligatoire :

model

Chaîne spécifiant le modèle d’intégration vectorielle à utiliser pour générer l’intégration.

Pour du texte, vous pouvez fournir les valeurs suivantes :

  • snowflake-arctic-embed-l-v2.0

  • snowflake-arctic-embed-l-v2.0-8k

  • nv-embed-qa-4

  • multilingual-e5-large

  • voyage-multilingual-2

  • snowflake-arctic-embed-m-v1.5

  • snowflake-arctic-embed-m

  • e5-base-v2

Pour des images, vous ne pouvez fournir que la valeur suivante :

  • voyage-multimodal-3

Les modèles pris en charge peuvent avoir des coûts différents.

input

La chaîne ou l’image (sous forme d”objet FILE) à partir de laquelle générer une intégration. Les images doivent respecter les spécifications suivantes :

  • Format JPEG, WEBP, PNG ou BMP

  • Taille inférieure à 10 MB

  • Moins de 8 000 x 8 000 pixels

Renvoie

Un vecteur d’intégration de type VECTOR dérivé du texte ou de l’image d’entrée.

Exigences en matière de contrôle d’accès

Les utilisateurs doivent utiliser un rôle qui possède le rôle de base de données SNOWFLAKE.CORTEX_USER. Pour plus d’informations sur ce privilège, voir Privilèges requis.

Exemples

Exemple de texte

Dans cet exemple, une intégration vectorielle est générée pour l’expression hello world à l’aide du modèle snowflake-arctic-embed-l-v2.0 :

SELECT AI_EMBED('snowflake-arctic-embed-l-v2.0', 'hello world');
Copy

Exemple d’image

Dans cet exemple, une intégration vectorielle est générée pour une image en zone de préparation à l’aide du modèle voyage-multimodal-3 :

SELECT AI_EMBED('voyage-multimodal-3',
        TO_FILE ('@my_images', 'CITY_WALKING1.PNG'));
Copy

Limitations

  • Les fonctions AI de Snowflake ne prennent pas en charge l’actualisation incrémentielle des tables dynamiques.

  • Les fonctions AI de Snowflake ne fonctionnent pas sur les objets FILE créés à partir de fichiers dans les zones de préparation suivantes :

    • Zones de préparation interne avec mode de chiffrement TYPE = 'SNOWFLAKE_FULL'

    • Les zones de préparation externes avec un mode chiffré côté client, comme AWS_CSE ou 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