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

Page titre du rapport EU « Breaking the Gridlock »

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.

SELECT AI_COMPLETE(
  MODEL => 'claude-4-opus',
  PROMPT => PROMPT('Compare the distributions of HDI in each group: low HDI group, medium HDI group, high HDI group and very high HDI group visualized in {0}', TO_FILE('@docs', 'hdr2023-24snapshoten.pdf'))
);

Réponse :

Looking at the document, I can see Figure S.2 on page 6 which shows the recovery of HDI values since the 2020-2021
decline across different HDI groups. The visualization shows:

**Low HDI group**:
- 49% recovered
- 51% did not recover

**Medium HDI group**:
- The document doesn't provide specific recovery percentages for this group in the figure

**High HDI group**:
- The document doesn't provide specific recovery percentages for this group in the figure

**Very high HDI group**:
- 100% recovered (all OECD countries)

The document also provides additional insights about HDI distributions:

1. **Inequality trends** (Figure S.3, page 7): The inequality between very high HDI and low HDI countries has been
   increasing since 2020, reversing a long-term declining trend. The difference in HDI values between these groups
   increased from 0.38 in 2017 to 0.39 in 2020 and is projected to continue rising.

2. **Overall recovery patterns**: The text notes that "every Organisation for Economic Co-operation and Development
   country is projected to have recovered, but only about half of the Least Developed Countries are projected to have
   done so."

3. **Global HDI trajectory**: While the global HDI value is projected to reach a record high in 2023, it remains below
   its pre-2019 trend, suggesting a permanent shift in the development trajectory.

The document emphasizes the highly unequal nature of recovery across HDI groups, with countries in higher HDI
categories showing much stronger recovery rates than those in lower HDI categories.

Exemple de résumé de document contextuel

Première page de la résolution EU 1008/2008

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é.

SELECT AI_COMPLETE(
  MODEL => 'claude-4-sonnet',
  PROMPT => PROMPT('summarize the changes from the perspective of private aviation {0}', TO_FILE('@docs', 'CELEX_32008R1008_EN_TXT.pdf'))
);

Réponse :

From a private aviation perspective, this EU Regulation 1008/2008 introduces several significant changes that affect
private operators and business aviation:

## Key Changes Affecting Private Aviation:

### **Operating License Requirements**
- **Stricter financial oversight**: Private operators must demonstrate they can meet financial obligations for 24
  months from start of operations, with enhanced monitoring during the first two years
- **Simplified requirements for smaller operators**: Aircraft under 10 tonnes MTOM and/or less than 20 seats need
  only demonstrate €100,000 net capital (unless operating scheduled services or exceeding €3 million turnover)

### **Aircraft Registration and Leasing**
- **Flexible registration**: Private operators can register aircraft either in their home Member State or anywhere within the Community

- **Wet lease restrictions**: Stricter limitations on wet leasing aircraft from third countries, requiring prior
  approval and justification based on:
  - Exceptional needs (up to 7 months, renewable once)
  - Seasonal capacity requirements
  - Operational difficulties when EU-registered aircraft unavailable
- **Safety equivalence**: All third-country leased aircraft must meet equivalent safety standards to EU requirements.

### **Enhanced Supervision**

- **Unified oversight**: The same Member State authority now oversees both the Air Operator Certificate (AOC) and
  operating license, improving efficiency for operators with bases in multiple countries
- **Regular assessments**: Mandatory financial reviews, particularly after two years of operation and when potential
  problems are suspected

### **Insurance Requirements**
- **Extended coverage**: Insurance requirements now explicitly include mail liability coverage in addition to
  passengers, cargo, and third parties

### **Operational Flexibility**
- **Code-sharing freedom**: Private operators can more freely enter into code-share arrangements on intra-Community
  routes and routes to third countries
- **Pricing freedom**: Complete freedom to set fares and rates for intra-Community services

### **Administrative Streamlining**
- **Consolidated regulation**: The three separate regulations are now combined into one comprehensive framework,
  simplifying compliance
- **Reduced bureaucracy**: Member States cannot require documents already provided to licensing authorities

These changes generally **liberalize** private aviation operations within the EU while **strengthening** financial
and safety oversight, creating a more integrated and competitive market for private operators.

Exploration de rapports techniques

Première page du livret technique du canon de 75 mm

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.

SELECT AI_COMPLETE(
  MODEL => 'gemini-3-pro',
  PROMPT => PROMPT('explain findings from figures 69-73 of {0}', TO_FILE('@docs', '75mm-M3-spec-booklet-MK-VI.pdf'))
);

Réponse :

Based on the provided document, specifically **page 4**, here is an explanation of the findings from Figures 69
through 73. These figures illustrate the fragmentation patterns and effectiveness of the **75-mm Shell, H.E., M48**
when fired from an M3 Gun. They visualize how dangerous the shell is to personnel (casualties) and equipment
(perforation of mild steel) at different burst heights and orientations.

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

gemini-3-pro

1,000,000

.pdf, .txt, .md

10MB, 900 pages max

20

claude-3-7-sonnet

200,000

.txt, .md, .pdf, .doc, .docx, .xls, .xlsx, .csv, .xhtml

4.5MB

5

claude-4-sonnet

200,000

.txt, .md, .pdf, .doc, .docx, .xls, .xlsx, .csv, .xhtml

4.5MB

5

claude-4-opus

200,000

.txt, .md, .pdf, .doc, .docx, .xls, .xlsx, .csv, .xhtml

4.5MB

5

claude-haiku-4-5

200,000

.txt, .md, .pdf, .doc, .docx, .xls, .xlsx, .csv, .xhtml

4.5MB

5

claude-sonnet-4-5

200,000

.txt, .md, .pdf, .doc, .docx, .xls, .xlsx, .csv, .xhtml

4.5MB

5

claude-opus-4-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é.