Cortex AISQL Images¶
Avec Cortex AI Images, vous pouvez accomplir les tâches suivantes :
Comparer des images
Ajouter une légende à des images
Classer des images
Extraire des entités à partir d’images
Répondre à des questions en utilisant des données dans des graphiques et des tableaux
Vous pouvez effectuer ces tâches à l’aide des fonctions suivantes :
Exigences en matière d’entrées¶
COMPLETE Multimodal peut traiter des images présentant les caractéristiques suivantes :
Exigence |
Valeur |
---|---|
Extensions de noms de fichiers |
|
Chiffrement de la zone de préparation |
Chiffrement côté serveur |
Type de données |
Note
Le traitement des fichiers à partir des zones de préparation est actuellement incompatible avec les politiques réseau personnalisées.
Créer une zone de préparation pour le traitement des images¶
Créez une zone de préparation adaptée au stockage des images à traiter. La zone de préparation doit disposer d’une table de répertoire et d’un chiffrement côté serveur.
Le SQL ci-dessous permet de créer une zone de préparation interne adaptée.
CREATE OR REPLACE STAGE input_stage
DIRECTORY = ( ENABLE = true )
ENCRYPTION = ( TYPE = 'SNOWFLAKE_SSE' );
Le SQL suivant crée une zone de préparation externe sur Amazon S3. Les zones de préparation externes Azure et GCP sont également prises en charge.
CREATE OR REPLACE STAGE input_stage
URL='s3://<s3-path>/'
DIRECTORY = ( ENABLE = true )
CREDENTIALS = (AWS_KEY_ID = <aws_key_id>
AWS_SECRET_KEY = <aws_secret_key>)
ENCRYPTION = ( TYPE = 'AWS_SSE_S3' );
Note
Pour actualiser automatiquement la table de répertoire de la zone de préparation externe lorsque des fichiers nouveaux ou mis à jour sont disponibles, passez l’option AUTO_REFRESH = true
lors de la création de la zone de préparation. Pour plus d’informations, voir CREATE STAGE.
Traiter les images¶
La fonction COMPLETE traite soit une seule image, soit plusieurs images (par exemple, pour extraire les différences entre les entités sur plusieurs images). L’appel de la fonction spécifie ce qui suit :
Le modèle multimodal à utiliser
Un prompt
Le chemin de la zone de préparation du ou des fichiers image via un objet FILE
Exemple d’une seule image¶
L’exemple suivant utilise le modèle Claude Sonnet 3.5 d’Anthropic pour résumer un diagramme circulaire science-employment-slide.jpeg
stocké dans la zone de préparation @myimages
.

Répartition des professions où les mathématiques sont considérées comme « extrêmement importantes » en 2023¶
SELECT AI_COMPLETE('claude-3-5-sonnet',
'Summarize the insights from this pie chart in 100 words',
TO_FILE('@myimages', 'science-employment-slide.jpeg'));
Réponse :
This pie chart shows the distribution of occupations where mathematics is considered "extremely important" in 2023.
Data scientists dominate with nearly half (48.7%) of all such positions, followed by operations research analysts
at 29.6%. The remaining positions are distributed among statisticians (7.8%), actuaries (7.2%), physicists (5.1%),
mathematicians (0.6%), and other mathematical science occupations (1.1%). This distribution highlights the growing
importance of data science in mathematics-intensive careers, while traditional mathematics roles represent a smaller
share of the workforce.
Exemple de plusieurs images¶
Note
Actuellement, seuls les modèles Anthropic (claude
) et Meta (llama
) peuvent faire référence à plusieurs images dans un seul prompt. La prise en charge de plusieurs images pour d’autres modèles pourrait être disponible dans une prochaine version.
Utilisez la fonction d’aide PROMPT pour traiter plusieurs images en un seul appel COMPLETE. L’exemple suivant utilise le modèle Claude Sonnet 3.5 d’Anthropic pour comparer deux créations publicitaires différentes à partir de la zone de préparation @myimages
.

Image de deux publicités pour des voitures électriques¶
SELECT AI_COMPLETE('claude-3-5-sonnet',
PROMPT('Compare this image {0} to this image {1} and describe the ideal audience for each in two concise bullets no longer than 10 words',
TO_FILE('@myimages', 'adcreative_1.png'),
TO_FILE('@myimages', 'adcreative_2.png')
));
Réponse :
First image ("Discover a New Energy"):
• Conservative luxury SUV buyers seeking a subtle transition to electrification
Second image ("Electrify Your Drive"):
• Young, tech-savvy urbanites attracted to bold, progressive automotive design
Limites du modèle¶
Tous les modèles disponibles pour Snowflake Cortex ont des limites sur le nombre total de jetons d’entrée et de sortie. C’est ce que l’on appelle la fenêtre contextuelle du modèle. La taille de la fenêtre contextuelle est mesurée en jetons. Les entrées dépassant la limite de la fenêtre contextuelle entraînent une erreur.
Pour les modèles de texte, les jetons représentent généralement environ quatre caractères de texte, de sorte que le nombre de mots correspondant à une limite est inférieur au nombre de jetons.
Pour les modèles d’image, le nombre de jetons par image dépend de l’architecture du modèle de vision. Les jetons contenus dans un prompt (par exemple, « Quel est cet animal ? ») contribuent également à la fenêtre contextuelle du modèle.
Modèle |
Fenêtre contextuelle (jetons) |
Types de fichiers |
Taille du fichier |
Images par prompt |
---|---|---|---|---|
|
200,000 |
.jpg, .jpeg, .png, .webp, .gif |
3,75 MB [L1] |
20 |
|
200,000 |
.jpg, .jpeg, .png, .webp, .gif |
3,75 MB [L1] |
20 |
|
200,000 |
.jpg, .jpeg, .png, .webp, .gif |
3,75 MB [L1] |
20 |
|
200,000 |
.jpg, .jpeg, .png, .webp, .gif |
3,75 MB [L1] |
20 |
|
128,000 |
.jpg, .jpeg, .png, .webp, .gif, .bmp [L2] |
10 MB |
10 |
|
128,000 |
.jpg, .jpeg, .png, .webp, .gif |
10 MB |
10 |
|
128,000 |
.jpg, .jpeg, .png, .webp, .gif, .bmp [L2] |
10 MB |
1 |
Considérations relatives aux clients¶
La facturation s’adapte au nombre de jetons traités. Le nombre de jetons par image dépend de l’architecture du modèle de vision.
La formule des modèles d’Anthropic (
claude
) est en gros : jetons = (largeur en pixels x hauteur en pixels) / 750.Les modèles Mistral (
pixtral
) divisent chaque image en lots de 16 x 16 pixels et convertissent chaque lot en jeton. Le nombre total de jetons équivaut approximativement à (Largeur en pixels / 16) * (Hauteur en pixels / 16).Les modèles Meta (
llama
) tentent de couvrir l’image de vignettes carrées. En fonction du format et de la taille de l’image, le nombre de vignettes peut aller jusqu’à 16, chacune étant représentée par environ 153 jetons.
Note
La fonction COUNT_TOKENS ne prend pas actuellement en charge les entrées d’images.
Choisir un modèle de vision¶
La fonction COMPLETE prend en charge plusieurs modèles dont la capacité, le temps de latence et le coût varient. Pour obtenir une performance optimale par crédit, choisissez un modèle adapté à la taille du contenu et à la complexité de la tâche.
Modèle |
MMMU |
Mathvista |
ChartQA |
DocVQA |
VQAv2 |
---|---|---|---|---|---|
GPT-4o |
68,6 |
64,6 |
85,1 |
88,9 |
77,8 |
claude-3-5-sonnet |
68,0 |
64,4 |
87,6 |
90,3 |
70,7 |
lama-4-maverick |
73,4 |
673,7 |
90 |
94,4 |
|
lama-4-scout |
69,4 |
70,7 |
88,8 |
94,4 |
|
pixtral-large |
64,0 |
69,4 |
88,1 |
85,7 |
67 |
Les critères de comparaison sont les suivants :
MMMU : Évalue les modèles multimodaux sur des tâches multidisciplinaires qui nécessitent un raisonnement de niveau collégial.
Mathvista : Critère de comparaison du raisonnement mathématique dans un contexte visuel.
ChartQA: Évalue des questions de raisonnement complexes sur des graphiques.
DocVQA et VQv2 : Critères de comparaison pour les questions-réponses visuelles sur des documents.
Disponibilité régionale¶
Cette fonction est prise en charge nativement pour les comptes des régions Snowflake suivantes :
Modèle
|
AWS US West 2
(Oregon)
|
AWS US East 1
(Virginie du Nord)
|
AWS Europe Central 1
(Francfort)
|
---|---|---|---|
|
✔ |
✔ |
|
|
|||
|
|||
|
|||
|
✔ |
✔ |
✔ |
|
✔ |
||
|
✔ |
La multimodale COMPLETE est disponible dans d’autres régions via Inférence interrégionale.
Conditions d’erreur¶
Message |
Explication |
---|---|
Échec de la requête pour la fonction externe SYSTEM$COMPLETE_WITH_IMAGE_INTERNAL avec une erreur de service distant : 400 “« invalid image path » |
L’extension du fichier ou le fichier lui-même n’est pas accepté par le modèle. Le message peut également signifier que le chemin d’accès au fichier est incorrect, c’est-à-dire que le fichier n’existe pas à l’emplacement spécifié. Les noms de fichiers sont sensibles à la casse. |
Erreur dans l’objet sécurisé |
Peut indiquer que la zone de préparation n’existe pas. Vérifiez le nom de la zone de préparation et assurez-vous qu’elle existe et est accessible. Veillez à utiliser le signe at (@) au début du chemin de la zone de préparation, par exemple |
Échec de la requête pour la fonction externe _COMPLETE_WITH_PROMPT avec une erreur de service distant : 400 “« paramètres de requête non valides : format d’image non pris en charge : image/** |
Format d’image non pris en charge donné à |
Échec de la requête pour la fonction externe _COMPLETE_WITH_PROMPT avec une erreur de service distant : 400 “« paramètres de requête non valides : Les données de l’image dépassent la limite de 5 MB » |
L’image fournie à |
Juridique¶
La classification des données d’entrées et de sorties est présentée dans la table suivante.
Classification des données d’entrée |
Classification des données de sortie |
Désignation |
---|---|---|
Usage Data |
Customer Data |
Les fonctions généralement disponibles sont des fonctions AI couvertes. Les fonctions d’aperçu sont les fonctions AI d’aperçu. [1] |
Pour plus d’informations, reportez-vous à Snowflake AI et ML.