- Catégories :
Fonctions de chaîne et fonctions binaires (Fonctions AI)
AI_EXTRACT¶
Extrait les informations d’une chaîne ou d’un fichier d’entrée.
Syntaxe¶
Extraire des informations d’une chaîne d’entrée :
AI_EXTRACT( <text>, <responseFormat> )
AI_EXTRACT( text => <text>,
responseFormat => <responseFormat> )
Extraire des informations d’un fichier :
AI_EXTRACT( <file>, <responseFormat> )
AI_EXTRACT( file => <file>,
responseFormat => <responseFormat> )
Arguments¶
text
Une chaîne d’entrée pour l’extraction.
file
Un FILE pour l’extraction.
Formats de fichiers pris en charge :
PDF
PNG
PPTX
EML
DOC, DOCX
JPEG, JPG
HTM, HTML
TEXT, TXT
TIF, TIFF
La taille des fichiers ne doit pas dépasser 100 MB.
responseFormat
Informations à extraire dans l’un des formats de réponse suivants :
Schéma d’objet simple qui mappe le nom de la fonctionnalité et les informations à extraire, par exemple :
{'name': 'What is the last name of the employee?', 'address': 'What is the address of the employee?'}
Tableau de chaînes contenant les informations à extraire, par exemple :
['What is the last name of the employee?', 'What is the address of the employee?']
Un tableau de tableaux contenant deux chaînes (le nom de la fonctionnalité et les informations à extraire), par exemple :
[['name', 'What is the last name of the employee?'], ['address', 'What is the address of the employee?']]
Tableau de chaînes contenant le nom de la fonctionnalité et les informations à extraire, séparées par le signe deux-points (« : »), par exemple :
['name: What is the last name of the employee?', 'address: What is the address of the employee?']
Note
Vous pouvez soit poser des questions en langage naturel, soit décrire les informations à extraire (comme la ville, la route, le code ZIP), par exemple :
['address': 'City, street, ZIP', 'name': 'First and last name']
Renvoie¶
Un objet JSON contenant les informations extraites.
Exigences en matière de contrôle d’accès¶
Les utilisateurs doivent utiliser un rôle auquel le rôle de base de données SNOWFLAKE.CORTEX_USER a été accordé. Pour plus d’informations sur l’octroi de ce privilège, voir Privilèges requis.
Notes sur l’utilisation¶
Les langues suivantes sont prises en charge :
Arabe
Bengali
Birman
Cebuano
Chinois
Tchèque
Néerlandais
Anglais
Français
Allemand
Hébreu
Hindi
Indonésien
Italien
Japonais
Khmer
Coréen
Lao
Malais
Persan
Polonais
Portugais
Russe
Espagnol
Tagalog
Thaïlandais
Turc
Ourdou
Vietnamien
Les documents ne doivent pas dépasser 125 pages.
Le nombre maximum de fonctionnalités pouvant être extraites est de 100.
La longueur de sortie maximale est de 512 jetons par question.
Pour extraire une liste, ajoutez
List:
au début de chaque question. Par exemple :[['languages', 'List: What languages are supported for AI_EXTRACT?']]
Vous ne pouvez pas utiliser de signe deux-points (« : ») à l’intérieur d’un nom de fonctionnalité lorsque vous utilisez le format de réponse qui utilise deux-points pour séparer le nom de la fonctionnalité et les informations à extraire, par exemple :
['location: Where does the employee live?', 'name:employee: What is the first name of the employee?']
Les scores de confiance ne sont pas pris en charge.
Exemples¶
L’exemple suivant extrait les informations du texte d’entrée :
SELECT AI_EXTRACT(
text => 'John Smith lives in San Francisco and works for Snowflake',
responseFormat => {'name': 'What is the first name of the employee?', 'city': 'What is the address of the employee?'}
);
L’exemple suivant extrait et analyse les informations contenues dans le texte d’entrée :
SELECT AI_EXTRACT(
text => 'John Smith lives in San Francisco and works for Snowflake',
responseFormat => PARSE_JSON('{"name": "What is the first name of the employee?", "address": "What is the address of the employee?"}')
);
L’exemple suivant extrait les informations du fichier document.pdf
:
SELECT AI_EXTRACT(
file => TO_FILE('@db.schema.files','document.pdf'),
responseFormat => [['name', 'What is the first name of the employee?'], ['city', 'Where does the employee live?']]
);
L’exemple suivant extrait les informations de tous les fichiers sur une zone de préparation :
SELECT AI_EXTRACT(
file => TO_FILE('@db.schema.files', relative_path),
responseFormat => [
'What is this document?',
'How would you classify this document?'
]
) FROM DIRECTORY (@db.schema.files);
Avis juridiques¶
Reportez-vous à Snowflake AI et ML pour les mentions légales.