AI_COMPLETE avec documents¶
La fonction Cortex AI_COMPLETE est une fonction d’AI polyvalente capable d’analyser les données stockées dans des fichiers PDF, Microsoft Word, ainsi que dans d’autres formats de fichiers de documents. Vous pouvez utiliser AI_COMPLETE pour effectuer différentes tâches d’extraction de données de documents, telles que :
Répondre aux questions en utilisant des données dans des graphiques et des tables.
Trouver les relations entre les graphiques et le texte du document.
Résumer le contenu du document dans une question spécifique.
Extraire des entités à partir de documents.
Un avantage de AI_COMPLETE sur les autres fonctions AI de traitement de documents est la possibilité de choisir un modèle, afin que vous puissiez utiliser le modèle le mieux adapté à votre tâche spécifique de traitement des documents.
Traitement des documents avec AI_COMPLETE¶
La fonction COMPLETE traite les fichiers de documents stockés dans une zone de préparation Snowflake interne ou dans une zone de préparation externe. L’invite de saisie peut faire référence à un seul document ou à plusieurs documents. Par exemple, vous comparez l’exactitude d’une traduction de documents marketing en fournissant les documents originaux et traduits comme entrée à la fonction, ainsi qu’une invite demandant au modèle d’évaluer la qualité de la traduction.
Lorsque vous appelez la fonction, vous devez spécifier le modèle à utiliser et une invite. L’invite doit comprendre des instructions ainsi qu’une référence d’objet FILE pour chaque document à traiter. Voir Exemples pour des exemples d’invites et de saisie, et AI_COMPLETE (Objet de prompt) pour la syntaxe de l’appel de fonction.
Exigences en matière d’entrées¶
AI_COMPLETE est optimisé pour les documents numériques et numérisés. La table suivante répertorie les limitations et les exigences relatives aux documents d’entrée :
Types de fichiers pris en charge |
Tous les modèles : .txt, .md, .pdf
Modèles Claude : .txt, .md, .pdf, .doc, .docx, .xls, .xlsx, .csv, .xhtml
|
|---|---|
Chiffrement de la zone de préparation |
Chiffrement côté serveur |
Type de données |
Objet FILE |
Note
Le traitement des fichiers provenant de zones de préparation avec AI_COMPLETE est actuellement incompatible avec les politiques de réseau personnalisées.
Exemples¶
Les exemples suivants illustrent l’utilisation de AI_COMPLETE pour traiter des documents dans trois cas d’utilisation courants : questions-réponses sur les graphiques, résumé de documents contextuels et exploration de rapports techniques.
Exemple de questions-réponses sur les graphiques¶
L’exemple suivant utilise le modèle Claude Opus 4 d’Anthropic pour analyser les données représentées dans un graphique dans le contexte du document hdr2023-24snapshoten.pdf stocké dans la zone de préparation @docs.
Réponse :
Exemple de résumé de document contextuel¶
L’exemple suivant utilise le modèle Claude Sonnet 4 d’Anthropic pour extraire le résumé d’un texte juridique avec une mise en page complexe. Le document CELEX_32008R1008_EN_TXT.pdf est stocké dans la zone de préparation @docs ; l’invite restreint le contexte du résumé.
Réponse :
Exploration de rapports techniques¶
L’exemple suivant utilise le modèle Gemini 3 Pro pour analyser les données relatives aux pertes représentées dans les graphiques d’un rapport technique. Le document 75mm-M3-spec-booklet-MK-VI.pdf est stocké dans la zone de préparation @docs.
Réponse :
Modèles pris en charge et limitations¶
Tous les modèles disponibles pour Snowflake Cortex ont des limites sur le nombre total de jetons d’entrée et de sortie, connues sous le nom de fenêtre de contexte du modèle. La taille de la fenêtre de contexte 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 ; le nombre de mots correspondant à une limite est légèrement inférieur à la fenêtre contextuelle donnée en jetons. Pour les modèles d’image, le nombre de jetons par document dépend de l’architecture du modèle de vue. Les jetons dans une invite (par exemple, « résumez le document suivant : ») contribuent également à la fenêtre contextuelle du modèle.
Modèle |
Fenêtre contextuelle (jetons) |
Types de fichiers |
Taille du fichier |
Documents par invite |
|---|---|---|---|---|
|
1,000,000 |
.pdf, .txt, .md |
10MB, 900 pages max |
20 |
|
200,000 |
.txt, .md, .pdf, .doc, .docx, .xls, .xlsx, .csv, .xhtml |
4.5MB |
5 |
|
200,000 |
.txt, .md, .pdf, .doc, .docx, .xls, .xlsx, .csv, .xhtml |
4.5MB |
5 |
|
200,000 |
.txt, .md, .pdf, .doc, .docx, .xls, .xlsx, .csv, .xhtml |
4.5MB |
5 |
|
200,000 |
.txt, .md, .pdf, .doc, .docx, .xls, .xlsx, .csv, .xhtml |
4.5MB |
5 |
|
200,000 |
.txt, .md, .pdf, .doc, .docx, .xls, .xlsx, .csv, .xhtml |
4.5MB |
5 |
|
200,000 |
.txt, .md, .pdf, .doc, .docx, .xls, .xlsx, .csv, .xhtml |
4.5MB |
5 |
Exigences en matière de contrôle d’accès¶
Pour utiliser la fonction AI_COMPLETE, un utilisateur ayant un rôle ACCOUNTADMIN doit accorder le rôle de base de données SNOWFLAKE.CORTEX_USER à l’utilisateur qui appellera la fonction. Consultez la rubrique Privilèges LLM Cortex pour plus de détails.
Les utilisateurs doivent également disposer de l’accès READ à la zone de préparation et au fichier en cours de traitement.
Considérations relatives aux clients¶
Le coût est déterminé par le nombre total de jetons traités, et non par taille de fichier. Lorsque des documents sont importés, le contenu textuel est extrait et converti en jetons. Des segments de page visuels (images) sont également transformés en jetons. La facturation est basée sur la somme des jetons d’entrée (texte et images analysés par le modèle) et des jetons de sortie (texte généré par le modèle).
Le nombre de jetons réel varie en fonction de l’architecture sous-jacente d’un modèle, ainsi que de la composition et de la structure du document. Le contenu tel que les tables denses, les feuilles de calcul, les données structurées, le code, les en-têtes et les pieds de page répétés ou le texte obtenu par OCR peut augmenter le volume de jetons. À l’inverse, les documents à forte intensité d’image ou basés sur des diapositives avec un minimum de texte extrait peuvent entraîner une diminution du nombre de jetons.
Note
La fonction AI_COUNT_TOKENS ne prend actuellement pas en charge les entrées de documents dans les modèles multimodaux.
Choix d’un modèle¶
Le benchmark MMLongBench-Doc est utilisé pour évaluer les capacités du modèle en matière de compréhension multimodale et de contexte long, y compris la récupération d’informations entre pages.
Modèle |
Score MMLongBench-Doc |
|---|---|
claude-3-5-sonnet |
46,8 % |
claude-3-7-sonnet |
52,8 % |
claude-4-sonnet |
50,2 % |
claude-4-opus |
53,0 % |
claude-haiku-4-5 |
48,9 % |
claude-sonnet-4-5 |
61,4 % |
claude-opus-4-5 |
63,8 % |
claude-sonnet-4-6 |
62,3 % |
gemini-3-pro |
60,5 % |
Disponibilité régionale¶
Voir Disponibilité régionale.
Conditions d’erreur¶
Snowflake Cortex AI_COMPLETE peut produire les messages d’erreur suivants.
Message |
Explication |
|---|---|
_COMPLETE_WITH_PROMPT_HISTORY_LLM$V1 avec erreur de service à distance : 400 « paramètres de requête non valides : type de contenu non pris en charge : application/vnd.ms-excel » |
Le fichier sélectionné d’un type non pris en charge (dans cet exemple, un fichier Microsoft Excel). Seuls les modèles Claude prennent en charge les fichiers Excel. |
La demande a échoué pour la fonction externe _COMPLETE_WITH_PROMPT_HISTORY_LLM$V1 avec une erreur de service à distance : 400 « paramètres de requête non valides : les données de fichier dépassent la limite de 10,00 MB pour le préfixe de fichier/file.pdf » |
La taille du fichier dépasse la limite (10MB dans cet exemple). |
Le fichier distant « @docs/file.pdf » n’a pas été trouvé. Il existe plusieurs causes possibles. Le fichier n’existe peut-être pas. Les informations de connexion requises sont peut être manquantes ou non valides. Si vous exécutez une commande de copie, veuillez vérifier que les fichiers ne sont pas supprimés lorsqu’ils sont chargés our que les fichiers ne soient pas simultanément chargés dans deux tables différentes avec l’option de purge automatique. |
Peut-être une erreur dans le nom de fichier. Les noms des fichiers sont sensibles à la casse. Ou le fichier a peut-être été supprimé. |
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 que la zone de préparation existe et est accessible. Veillez à utiliser un symbole (@) au début du nom de la zone de préparation. Assurez-vous que la zone de préparation utilise le chiffrement côté serveur. |
La demande a échoué pour la fonction externe COMPLETE$V6 avec une erreur de service à distance : 400 « « model "model_name" ne prend pas en charge la modalité donnée » |
Le modèle fourni dans la requête ne prend pas en charge la modalité des documents ou des textes. |
La demande a échoué pour la fonction externe COMPLETE_WITH_PROMPT avec une erreur de service à distance : 500 « erreur interne » |
Problème lors du traitement de la requête côté serveur. Il peut arriver que le fichier soit corrompu ou tronqué. |
Avis juridiques¶
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.