- Catégories :
Fonctions de chaîne et fonctions binaires (Fonctions AI)
COMPLETE (SNOWFLAKE.CORTEX) (multimodal)¶
Note
AI_COMPLETE est la dernière version de cette fonction. Utilisez le site AI_COMPLETE pour bénéficier des dernières fonctionnalités. Vous pouvez continuer à utiliser COMPLETE (SNOWFLAKE.CORTEX).
À partir d’une image et d’un prompt, génère une réponse (exécution) à l’aide d’un modèle de langage. Cette variante de fonction prend en charge les modèles d’image ainsi que les modèles de texte et traite les images stockés dans une zone de préparation Snowflake interne ou une zone de préparation externe. COMPLETE peut être utilisé pour traiter une seule image, plusieurs images par lot, en appliquant le même prompt ou un prompt différent à chaque image, ou plusieurs images en une seule opération (par exemple, comparaison).
Syntaxe¶
Utilisez l’une des méthodes suivantes :
Arguments¶
modelUne chaîne spécifiant le modèle à utiliser. Spécifiez l’un des modèles suivants :
claude-3-5-sonnetpixtral-large
Les modèles pris en charge peuvent avoir des coûts et des fenêtres contextuelles différents. De nouveaux modèles peuvent être ajoutés de temps à autre.
promptUne chaîne contenant une question sur l’image et spécifiant éventuellement un format de sortie, tel que JSON. L’un ou l’autre de ces arguments ou l’argument
prompt_objectest requis.prompt_objectUn SQL OBJECT contenant un prompt de chaînes avec des espaces réservés numérotés (
{0},\{1\}, etc.) et un ou plusieurs textes ou valeurs FILE qui sont insérés dans le prompt. La fonction PROMPT est un moyen pratique de créer un objet avec l’exigence requise. Cet argument oupromptest nécessaire.file_objectUn objet FILE qui contient un fichier image à traiter. Utilisez la fonction TO_FILE pour créer des objets FILE à partir du chemin d’une zone de préparation. Exigence requise lors de l’utilisation d’un prompt de chaînes.
FROM tableUne table facultative contenant les chemins d’accès aux images et un prompt facultatif pour chaque image, ce qui permet de traiter les images par lots en un seul appel à COMPLETE.
Renvoie¶
Une chaîne contenant la réponse du modèle de langage.
Notes sur l’utilisation¶
Les entrées dépassant la limite de la fenêtre contextuelle entraînent une erreur. La sortie qui dépasserait la limite de la fenêtre contextuelle est tronquée.
Pour traiter plusieurs images, le prompt doit être un objet (généralement créé à l’aide de la fonction PROMPT) qui spécifie un modèle de prompt et les fichiers à traiter.
Seuls le texte et les images sont pris en charge. Les fichiers vidéo et audio ne sont pas pris en charge.
Les images portant l’extension
.jpg,.jpeg,.png,.gifet.webpsont prises en charge.pixtral-largeprend également en charge.bmp.La taille maximale de l’image est de 10 MB pour
pixtral-largeet de 3,75 MB pourclaude-3-5-sonnet. En outre,claude-3-5-sonnetne prend pas en charge les images dont la résolution est supérieure à 8000x8000.La zone de préparation contenant les images doit avoir le chiffrement côté serveur activé. Les zones de préparation chiffrées côté client ne sont pas prises en charge.
La fonction ne prend pas en charge les politiques réseau personnalisées.
Les noms des zones de préparation ne tiennent pas compte de la casse, contrairement aux chemins.
Exemples¶
Les exemples suivants démontrent les capacités de base de la fonction COMPLETE avec des images.
Réponse visuelle aux questions¶
Un tableau des taux d’inflation est utilisé pour répondre à une question sur les données.
Comparaison entre les taux d’inflation en 2023 et en 2024 (Statista)¶
Réponse :
Classification des images¶
Cet exemple permet de classer le repère identifié dans une seule image.
Réponse :
Extraction d’entités à partir d’une image¶
Cet exemple extrait les entités (objets) d’une image et renvoie les résultats au format JSON.
Réponse :
Traitement par lots d’images à partir d’un répertoire ou d’une table¶
Pour le traitement par lots de plusieurs images, en effectuant la même opération sur chacune d’elles, stockez les fichiers images dans la même zone de préparation. Appliquez la fonction COMPLETE à chaque ligne de la table.
Note
La zone de préparation interne doit disposer d’une table de répertoire pour récupérer les chemins d’accès à ses fichiers.
Créez d’abord la table en récupérant les emplacements des images dans le répertoire, en les convertissant en objets FILE et en stockant les objets FILE qui en résultent dans la colonne d’une table. Utilisez SQL comme ce qui suit :
Appliquez ensuite la fonction COMPLETE à la colonne contenant les objets FILE. L’exemple suivant permet de classer chaque image de la table :
Réponse :
Si vous disposez déjà d’une table contenant les chemins d’accès aux images, vous pouvez utiliser la fonction TO_FILE pour construire les objets FILE dans la requête :
Vous pouvez également récupérer les images à traiter directement dans le répertoire d’une zone de préparation, comme indiqué ici :
Fournir des images et des prompts dans une table¶
Pour effectuer une opération différente sur chaque image d’un tableau, fournissez les images et les prompts correspondants dans un tableau. Dans l’exemple suivant, la table contient le chemin de la zone de préparation interne de chaque image dans la colonne img_path et le prompt dans la colonne prompt.
Avis juridiques¶
Reportez-vous à Snowflake AI et ML.