Catégories :

Fonctions de chaîne et fonctions binaires (Large Language Model)

PARSE_DOCUMENT (SNOWFLAKE.CORTEX)

Renvoie le contenu extrait d’un document sur une zone de préparation Snowflake sous forme d’un OBJECT qui contient des objets encodés JSON sous forme de chaînes. Cette fonction prend en charge 2 types d’extractions, la reconnaissance optique de caractères (OCR) et la mise en page. Pour en savoir plus, voir Aperçu du document Cortex Parse.

Syntaxe

SNOWFLAKE.CORTEX.PARSE_DOCUMENT( '@<stage>', '<path>', [ { 'mode': '<mode>' }, ] )
Copy

Arguments

Obligatoire :

stage

Nom de la zone de préparation Snowflake.

path

Chemin relatif vers le document sur la zone de préparation Snowflake.

Facultatif :

mode

Renvoie une valeur de type OBJECT. Dans l’objet, la valeur de la clé content contient les données extraites sous forme d’une chaîne encodée JSON. Les données peuvent être formatées ou en texte brut, selon le mode spécifié dans l’appel :

  • Si mode est LAYOUT, les données sont au format Markdown avec un contenu structurel incluant des tables.

  • Si mode est OCR, les données sont le contenu du texte.

Par défaut : 'OCR'

Renvoie

Un type de données OBJECT qui contient les données extraites sous forme d’une chaîne encodée JSON. Le contenu dépend du mode utilisé dans l’appel :

  • Mode LAYOUT : JSON avec la clé « contenu » contenant du langage Markdown avec des tables extraites du document.

  • Mode OCR : JSON avec la clé « contenu » contenant le contenu texte du document.

Exemples

Mode OCR

SELECT TO_VARCHAR(
    SNOWFLAKE.CORTEX.PARSE_DOCUMENT(
        '@PARSE_DOCUMENT.DEMO.documents',
        'document_1.pdf',
        {'mode': 'OCR'}):content
    ) AS OCR;
Copy

Sortie :

{
    "content of the document"
}

Mode LAYOUT

Cet exemple analyse un document avec une table affichée dans la capture d’écran suivante :

Exemple de contenu PDF avec une table
SELECT
  TO_VARCHAR (
    SNOWFLAKE.CORTEX.PARSE_DOCUMENT (
        '@PARSE_DOCUMENT.DEMO.documents',
        'document_1.pdf',
        {'mode': 'LAYOUT'} ):content ) AS LAYOUT;
Copy

Sortie :

{
  "content": "# This is PARSE DOCUMENT example
     Example table:
     |Header|Second header|Third Header|
     |:---:|:---:|:---:|
     |First row header|Data in first row|Data in first row|
     |Second row header|Data in second row.|Data in second row.|

     Some more text."
 }