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 Cortex PARSE_DOCUMENT.

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. Le contenu dépend du mode utilisé dans l’appel :

  • Mode OCR (par défaut) : JSON (sous forme de chaîne) avec les clés décrites ci-dessous.

    • "content" : texte extrait de la documentation.

    • "errorInformation" : contient des informations d’erreur en cas d’échec de l’extraction.

  • Mode LAYOUT (aperçu) : JSON (comme une chaîne) à l’aide des clés décrites ci-dessous.

    • "content" : texte formaté en Markdown avec des tables extraites de la documentation.

    • "errorInformation" : contient des informations d’erreur en cas d’échec de l’extraction.

Exemples

Mode OCR

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

Sortie :

{
    "content": "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'} ) ) 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."
 }

Limitations

Les fonctions de Snowflake Cortex ne prennent pas en charge les tables dynamiques.