Categorias:

Funções de cadeia de caracteres e binários (Large Language Model)

PARSE_DOCUMENT (SNOWFLAKE.CORTEX)

Retorna o conteúdo extraído de um documento em um estágio Snowflake como um OBJECT que contém objetos codificados em JSON como cadeias de caracteres. Esta função suporta 2 tipos de extrações, reconhecimento óptico de caracteres (OCR) e layout. Para saber mais, consulte Visão geral do Cortex Parse Document.

Sintaxe

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

Argumentos

Obrigatório:

stage

Nome do estágio Snowflake.

path

Caminho relativo para o documento no estágio Snowflake.

Opcional:

mode

Retorna um valor do tipo OBJECT. No objeto, o valor da chave content contém os dados extraídos como uma cadeia de caracteres codificada em JSON. Os dados podem ser formatados ou em texto simples, dependendo do modo especificado na chamada:

  • Se mode for LAYOUT, os dados são Markdown com conteúdo estrutural, incluindo tabelas.

  • Se mode for OCR, os dados são o conteúdo do texto.

Padrão: 'OCR'

Retornos

Um tipo de dados OBJECT com os dados extraídos como uma cadeia de caracteres codificada em JSON. O conteúdo depende do modo usado na chamada:

  • Modo LAYOUT: JSON com a chave “content” com Markdown com tabelas extraídas do documento.

  • Modo OCR: JSON com a chave “content” com o conteúdo do texto do documento.

Exemplos

Modo OCR

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

Saída:

{
    "content of the document"
}

Modo LAYOUT

Este exemplo analisa um documento com uma tabela mostrada na captura de tela a seguir:

Exemplo de conteúdo de PDF com uma tabela
SELECT
  TO_VARCHAR (
    SNOWFLAKE.CORTEX.PARSE_DOCUMENT (
        '@PARSE_DOCUMENT.DEMO.documents',
        'document_1.pdf',
        {'mode': 'LAYOUT'} ):content ) AS LAYOUT;
Copy

Saída:

{
  "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."
 }