- Categorias:
Funções de cadeia de caracteres e binários (funções de AI)
AI_EXTRACT¶
Extrai informações de uma string ou arquivo de entrada.
Sintaxe¶
Extrair informações de uma string de entrada:
Extrair informações de um arquivo:
Argumentos¶
textUma string de entrada para extração.
fileUm FILE para extração.
Formatos de arquivo compatíveis:
PDF
PNG
PPTX, PPT
EML
DOC, DOCX
JPEG, JPG
HTM, HTML
TEXT, TXT
TIF, TIFF
BMP, GIF, WEBP
MD
Os arquivos devem ter menos de 100 MB de tamanho.
responseFormatInformações a serem extraídas. O formato depende do tipo de extração.
Formatos de extração de entidades
Extraia valores individuais fornecendo um dos seguintes formatos:
Esquema de objeto simples que mapeia o rótulo e a informação a ser extraída:
Uma matriz de cadeias de caracteres que contém a informação a ser extraída:
Uma matriz de matrizes que contém duas cadeias de caracteres (rótulo e a informação a ser extraída):
Um esquema JSON com
'type': 'string'no subobjeto:
Formato de extração de lista
Extraia matrizes de valores usando um esquema JSON com
'type': 'array'no subobjeto:Formato de extração de tabela
Extraia dados tabulares usando um esquema JSON com
'type': 'object'ecolumn_ordering. Cada coluna é definida como uma propriedade aninhada com'type': 'array'e umdescriptionque corresponde ao nome da coluna no arquivo:Nota
Você não pode combinar o JSON Formato de esquema com outros formatos de resposta. Se
responseFormatcontém oschemaChave, você deve definir todas as perguntas dentro da JSON esquema. Chaves adicionais não são suportadas.O modelo aceita apenas certas formas de JSON esquema. O tipo de nível superior deve ser sempre um objeto, que contém subobjetos extraídos independentemente. Os subobjetos podem ser uma tabela (objeto de listas de strings que representam colunas), uma lista de strings ou uma string.
O único tipo escalar compatível atualmente é a string.
Use a
descriptioncampo para fornecer contexto ao modelo; por exemplo, para ajudar o modelo a localizar a tabela correta em um documento. Você pode inserir o nome do cabeçalho da coluna ou descrever a coluna de outra forma.Use o campo
column_orderingpara especificar a ordem de todas as colunas na tabela extraída. O campocolumn_orderingdiferencia maiúsculas de minúsculas e deve corresponder aos nomes das colunas definidos no campoproperties. A ordem deve refletir a ordem das colunas no documento.
config => config_objectUm valor OBJECT que especifica as configurações. É possível usar uma constante OBJECT para especificar esse objeto.
Você pode especificar os seguintes pares chave-valor neste objeto:
Chave
Descrição
scale_factorUm valor numérico de 1,0 a 4,0. Redimensiona as páginas de um arquivo de entrada antes de serem processadas pelo modelo subjacente, o que pode melhorar a qualidade do OCR e os resultados da extração.
Use
scale_factorse você receber respostas inesperadas ou pouco claras nos seguintes cenários:Documentos com tamanhos de página maiores que A4
Documentos com texto pequeno, elementos visuais detalhados ou layouts densos
Texto extraído com erros de digitação ou de OCR no nível de caractere
Se omitido, o AI_EXTRACT usará o valor padrão (
'scale_factor': 1.0').
Retornos¶
Um objeto JSON contendo as informações extraídas. A estrutura da resposta depende do tipo de extração.
Extração de entidades¶
Retorna um objeto JSON com pares chave-valor para cada entidade extraída:
Extração de lista¶
Retorna um objeto JSON com matrizes de valores extraídos:
Extração de tabela¶
Retorna um objeto JSON com matrizes de colunas representando a tabela extraída:
Extração combinada¶
Ao extrair entidades, listas e tabelas em uma única chamada, a resposta contém todos os tipos de extração:
Requisitos de controle de acesso¶
Os usuários devem usar uma função que tenha a função do banco de dados SNOWFLAKE.CORTEX_USER. Para obter mais informações sobre como conceder esse privilégio, consulte Privilégios de LLM do Cortex.
Notas de uso¶
A AI_EXTRACT é otimizada para documentos originalmente digitais e que foram digitalizados.
Você não pode usar os dois
textefileParâmetros simultaneamente na mesma chamada de função.Você pode fazer perguntas em linguagem natural ou descrever informações a serem extraídas (como cidade, endereço, código ZIP), por exemplo:
Os seguintes idiomas são compatíveis:
Árabe
Bengali
Birmanês
Cebuano
Chinês
Tcheco
Holandês
Inglês
Francês
Alemão
Hebraico
Hindi
Indonésio
Italiano
Japonês
Quemer
Coreano
Lao
Malaio
Persa
Polonês
Português
Russo
Espanhol
Tagalo
Tailandês
Turco
Urdu
Vietnamita
Os documentos não devem ter mais de 125 páginas.
Em uma única chamada AI_EXTRACT, você pode fazer no máximo 100 perguntas para extração de entidade e um máximo de 10 perguntas para extração de tabela.
Uma pergunta de extração de tabela é igual a 10 perguntas de extração de entidade. Por exemplo, você pode fazer 4 perguntas de extração de tabela e 60 perguntas de extração de entidade em um único AI_EXTRACT chamar.
O comprimento máximo de saída para extração de entidade é de 512 tokens por pergunta. Para extração de tabela, o modelo retorna respostas com um máximo de 4096 tokens.
Estágios criptografados do lado do cliente não são suportados.
Não há suporte para pontuações de confiança.
Considerações sobre custo¶
A função AI_EXTRACT do Cortex incorre em custo de computação com base no número de páginas por documento, nos tokens de prompts de entrada e nos tokens de saída processados.
Para formatos de arquivo paginados (PDF, DOCX, TIF, TIFF), cada página é contada como 970 tokens.
Para formatos de arquivo de imagem (JPEG, JPG, PNG), cada arquivo de imagem individual é cobrado como uma página e contado como 970 tokens.
O uso do parâmetro
scale_factoraltera a quantidade de tokens consumidos e a quantidade de páginas que podem ser processadas por chamada:O número de tokens de entrada consumidos aumenta proporcionalmente a
scale_factor.O número máximo de páginas por documento que podem ser processadas por AI_EXTRACT diminui com
scale_factor.
Relacionamento de scale_factor com o número de tokens e páginas
Valor
scale_factorContagem de tokens por página
Número máx. de páginas por documento
2
970 * 2 = 1940 tokens
125/2 = 62,5 (arredondado para 62)
2.5
970 * 2,5 = 2425 tokens
125/2,5 = 50
4
970 * 4 = 3880 tokens
125/4 = 31,25 (arredondado para 31)
O Snowflake recomenda a execução de consultas que chamem a função AI_EXTRACT do Cortex em um warehouse menor (até o tamanho MEDIUM). Warehouses maiores não aumentam o desempenho.
Disponibilidade regional¶
A AI_EXTRACT está disponível para contas nas seguintes regiões:
Plataforma de nuvem |
Nome da região |
|---|---|
Amazon Web Services (AWS) |
|
Microsoft Azure |
|
A AI_EXTRACT tem suporte entre regiões. Para obter informações sobre como habilitar o suporte entre regiões do Cortex AI, consulte Inferência entre regiões.
Condições de erro¶
A AI_EXTRACT pode produzir as seguintes mensagens de erro:
Mensagem |
Explicação |
|---|---|
|
Ocorreu um erro no sistema. Aguarde e tente novamente. Se o problema persistir, entre em contato com o suporte Snowflake. |
|
O arquivo não foi encontrado. |
|
O arquivo não foi encontrado. |
|
O usuário atual não tem privilégios suficientes para acessar o arquivo. |
|
O documento não está em um formato compatível. |
|
O documento não está armazenado em um área de preparação com criptografia do lado do servidor. |
|
Nenhum parâmetro foi fornecido. |
|
Nenhum formato de resposta foi fornecido. |
|
O formato de resposta não é um JSON válido. |
|
O formato de resposta contém um ou mais nomes de recursos duplicados. |
|
O número de perguntas excede o limite permitido. |
|
O documento excede o limite de 125 páginas. |
|
A entrada de imagem ou uma página de documento convertida é maior do que as dimensões permitidas. |
|
A página é maior do que as dimensões permitidas. |
|
O documento tem mais de 100 MB. |
Exemplos¶
Extração de entidades¶
O exemplo a seguir extrai entidades do texto de entrada usando um esquema de objeto simples:
O exemplo a seguir extrai e analisa entidades do texto de entrada:
O exemplo a seguir extrai entidades do arquivo
document.pdf:O exemplo a seguir extrai entidades de todos os arquivos em um diretório em uma área de preparação:
Nota
Certifique-se de que a tabela de diretórios esteja habilitada. Para obter mais informações, consulte Manage directory tables.
O exemplo a seguir extrai a entidade
titledo arquivoreport.pdfusando um esquema JSON:
Extração de lista¶
O exemplo a seguir extrai a lista employees do arquivo report.pdf:
Extração de tabela¶
O exemplo a seguir extrai a tabela income_table do arquivo report.pdf:
Extração combinada¶
O exemplo a seguir extrai uma tabela (income_table), uma entidade (title) e uma lista (employees) do arquivo report.pdf em uma única chamada:
Extração com um fator de escala personalizado¶
O exemplo a seguir extrai a matriz employees do arquivo report.pdf usando um fator de escala de 2,0:
Extração usando um modelo arctic-extract ajustado¶
Para usar o modelo arctic-extract com ajuste fino para inferência com a função AI_EXTRACT, especifique o modelo usando o parâmetro model, como mostrado no exemplo a seguir:
Você pode substituir perguntas usadas para ajuste fino usando o parâmetro responseFormat, como mostrado no exemplo a seguir:
O exemplo a seguir extrai dados do arquivo invoice.pdf, usando um modelo arctic-extract ajustado e um fator de escala de 2,0:
Para obter mais informações, consulte Ajuste fino de modelos arctic-extract.
Avisos legais¶
Consulte AI e ML Snowflake para ver os avisos legais.