Visão geral do Cortex Parse Document

A função PARSE_DOCUMENT é uma função específica da tarefa do Cortex AI que lhe dá a capacidade de extrair texto ou layout de documentos armazenados em um estágio externo. PARSE_DOCUMENT combina poderosos recursos de reconhecimento óptico de caracteres (OCR) com modelos de aprendizado de máquina para identificar conteúdo de texto, informações armazenadas em tabelas e elementos estruturais de documentos PDF. Você pode usar a função PARSE_DOCUMENT para extrair texto e layout de documento para criar sistemas de recuperação de informações em grandes arquivos de documentos comerciais e para carregar as informações extraídas em tabelas estruturadas do Snowflake para uso em seus aplicativos.

Como funciona o Parse Document

A função PARSE_DOCUMENT oferece OCR (padrão) e modos LAYOUT para processamento de documentos PDF.

  • O modo PARSE_DOCUMENT OCR(padrão) é otimizado para extração de texto de documentos com muito texto. Esta é a opção recomendada para extração de texto rápida, fácil e eficaz de documentos que não possuem uma estrutura semântica forte.

  • O modo PARSE_DOCUMENT LAYOUT (opcional) é otimizado para extrair texto e elementos de layout, como tabelas. Esta é a opção recomendada para melhorar o contexto de uma base de conhecimento de documentos para otimizar os sistemas de recuperação de informações e a inferência do Large Language Model (LLM). Por exemplo, você pode isolar seções de texto usando elementos LAYOUT para tarefas de extração de entidade mais direcionadas.

Como usar o Parse Document

A função Cortex PARSE_DOCUMENT é uma função SQL. Como é totalmente hospedado e gerenciado pela Snowflake, sua utilização não requer configuração. Isso significa que você pode apontar a função PARSE_DOCUMENT para um estágio onde os documentos PDF são armazenados para extrair texto ou dados de layout. O exemplo a seguir extrai as informações de texto e layout do arquivo document_1.pdf no estágio documents no banco de dados parse_document e no esquema demo.

Nota

PARSE_DOCUMENT é atualmente incompatível com políticas de rede personalizadas.

SELECT
  SNOWFLAKE.CORTEX.PARSE_DOCUMENT(
    @parse_document.demo.documents,
    'document_1.pdf',
    {'mode': 'LAYOUT'}
  ) AS layout;
Copy

PARSE_DOCUMENT oferece suporte ao processamento de documentos armazenados em um estágio interno do Snowflake ou em um estágio externo. Ao criar o estágio, o Server Side Encryption é obrigatório. Caso contrário, PARSE_DOCUMENT retornará um erro informando que o arquivo fornecido não está no formato esperado ou está criptografado no lado do cliente.

CREATE STAGE input_stage
    DIRECTORY = ( ENABLE = true )
    ENCRYPTION = ( TYPE = 'SNOWFLAKE_SSE' );
Copy

Requisitos de entrada

A função Cortex PARSE_DOCUMENT está atualmente otimizada para documentos criados digitalmente, não digitalizados de cópias impressas. A tabela a seguir lista as limitações e os requisitos para o documento de entrada:

Tamanho máximo do arquivo

100 MB

Máximo de páginas por documento

100 páginas

Tipo de arquivo permitido

PDF

Stage Encryption

Server Side Encryption

Nota

PARSE_DOCUMENT atualmente não está otimizado para idiomas que usam caracteres não latinos, como chinês, japonês e tailandês. Francês, português, italiano, alemão, espanhol, sueco e norueguês são suportados na versão e estão sendo otimizados ainda mais.

Funcionalidade principal

Função

Descrição

Orientação da página

PARSE_DOCUMENT detecta automaticamente a orientação da página.

Caracteres

O PARSE Document detecta os seguintes caracteres:

  • a-z

  • A-Z

  • 0-9

  • À Á Â Ä Å Ç È É Ê Ë Ì Í Î Ï Ò Ó Ô Õ Ö Ú Ü Ý ß à á â ã ä å æ ç è é ê ë ì í î ï ñ ò ó ô õ ö ø ù ú û ü ý ą Ć ć Č č Đ đ ę ı Ł ł ō Œ œ Š š Ÿ Ž ž ʒ β δ ε з Ṡ

  • # $ % & “ ( ) * + , - . / : ; < = > ? @ [ ] _ ` { } ¡ £ § ª « ° ¹ ² ³ ´ µ · º » ¿ ‘ € ™

Idiomas

PARSE_DOCUMENT é otimizado para inglês. Ele também oferece suporte aos idiomas francês, português, italiano, alemão, espanhol, sueco e norueguês na versão preliminar.

Disponibilidade regional

O suporte para esse recurso está disponível para contas nas seguintes regiões do Snowflake:

AWS

Azure

US West 2 (Oregon)

East US 2 (Virginia)

US East (Ohio)

West Europe (Netherlands)

US East 1 (N. Virginia)

Europe (Ireland)

Europe Central 1 (Frankfurt)

Requisitos de controle de acesso

Para usar a função PARSE_DOCUMENT, um usuário com a função ACCOUNTADMIN deve conceder a função de banco de dados SNOWFLAKECORTEX_USER ao usuário que chamará a função. Veja o tópico Privilégios obrigatórios para mais detalhes.

Considerações sobre custo

A função Cortex PARSE_DOCUMENT não incorre em custos de computação para o processamento de documentos durante esta versão. Espera-se um faturamento posterior que seja escalonado conforme o processamento dos documentos.

Mesmo que não haja custos de computação durante a versão, você deve escolher um warehouse para executar a consulta que chama a função. A Snowflake recomenda executar consultas que chamam a função Cortex PARSE_DOCUMENT com um warehouse menor (não maior que MEDIUM) porque warehouses maiores não aumentam o desempenho.

Condições de erro

O Snowflake Cortex PARSE_DOCUMENT pode produzir as seguintes mensagens de erro:

Mensagem

Explicação

O arquivo fornecido não está no formato esperado. Certifique-se de que o arquivo seja um PDF.

Retornado quando o documento não é um PDF válido.

Número máximo de 100 páginas excedido.

Retornado quando o PDF contém mais de 100 páginas.

O tamanho máximo do arquivo de 104857600 bytes foi excedido.

Retornado quando o documento tem mais de 100 MB.

O arquivo fornecido não pode ser encontrado ou acessado.

O arquivo não existe.

Erro interno.

Ocorreu um erro no sistema. Aguarde e tente novamente.

Incorporação do PARSE_DOCUMENT em pipelines RAG

A geração aumentada de recuperação (RAG) é uma técnica para recuperar dados de uma base de conhecimento para aprimorar a resposta gerada de um LLM. A qualidade e o contexto do conteúdo extraído de vários documentos são fundamentais para o desempenho da recuperação em um sistema de busca de documentos. O modo PARSE_DOCUMENT LAYOUT permite que você implemente facilmente a extração avançada de conteúdo que mantém a integridade estrutural de um documento, permitindo que você divida facilmente o texto em unidades de texto concisas e independentes. Isso, por sua vez, lhe dá a capacidade de implementar a fragmentação semântica em vez de depender de divisões arbitrárias de caractere, bem como executar perguntas e respostas e resumos direcionados.