- 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:
AI_EXTRACT( <text>, <responseFormat> )
AI_EXTRACT( text => <text>,
responseFormat => <responseFormat> )
Extrair informações de um arquivo:
AI_EXTRACT( <file>, <responseFormat> )
AI_EXTRACT( file => <file>,
responseFormat => <responseFormat> )
Argumentos¶
text
Uma string de entrada para extração.
file
Um FILE para extração.
Formatos de arquivo compatíveis:
PDF
PNG
PPTX
EML
DOC, DOCX
JPEG, JPG
HTM, HTML
TEXT, TXT
TIF, TIFF
Os arquivos devem ter menos de 100 MB de tamanho.
responseFormat
Informações a serem extraídas em um dos seguintes formatos de resposta:
Esquema de objeto simples que mapeia o nome do recurso e as informações a serem extraídas, por exemplo:
{'name': 'What is the last name of the employee?', 'address': 'What is the address of the employee?'}
Uma matriz de strings com as informações a serem extraídas, por exemplo:
['What is the last name of the employee?', 'What is the address of the employee?']
Uma matriz de matrizes que contém duas strings (nome do recurso e as informações a serem extraídas), por exemplo:
[['name', 'What is the last name of the employee?'], ['address', 'What is the address of the employee?']]
Uma matriz de strings com o nome do recurso e as informações a serem extraídas, separadas por dois pontos (“:”), por exemplo:
['name: What is the last name of the employee?', 'address: What is the address of the employee?']
Nota
Você pode fazer perguntas em linguagem natural ou descrever informações a serem extraídas (como cidade, endereço, código ZIP), por exemplo:
['address': 'City, street, ZIP', 'name': 'First and last name']
Retornos¶
Um objeto JSON contendo as informações extraídas.
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 obrigatórios.
Notas de uso¶
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.
O número máximo de recursos que podem ser extraídos é 100.
O comprimento máximo de saída é de 512 tokens por pergunta.
Para extrair uma lista, adicione
List:
no início de cada pergunta. Por exemplo:[['languages', 'List: What languages are supported for AI_EXTRACT?']]
Não é possível usar dois pontos (“:”) dentro de um nome de recurso ao usar o formato de resposta que usa dois pontos para separar o nome do recurso e as informações a serem extraídas, por exemplo:
['location: Where does the employee live?', 'name:employee: What is the first name of the employee?']
Não há suporte para pontuações de confiança.
Exemplos¶
Este exemplo extrai informações do texto de entrada:
SELECT AI_EXTRACT(
text => 'John Smith lives in San Francisco and works for Snowflake',
responseFormat => {'name': 'What is the first name of the employee?', 'city': 'What is the address of the employee?'}
);
Este exemplo extrai e analisa informações do texto de entrada:
SELECT AI_EXTRACT(
text => 'John Smith lives in San Francisco and works for Snowflake',
responseFormat => PARSE_JSON('{"name": "What is the first name of the employee?", "address": "What is the address of the employee?"}')
);
Este exemplo extrai informações do arquivo document.pdf
:
SELECT AI_EXTRACT(
file => TO_FILE('@db.schema.files','document.pdf'),
responseFormat => [['name', 'What is the first name of the employee?'], ['city', 'Where does the employee live?']]
);
Este exemplo extrai informações de todos os arquivos em um estágio:
SELECT AI_EXTRACT(
file => TO_FILE('@db.schema.files', relative_path),
responseFormat => [
'What is this document?',
'How would you classify this document?'
]
) FROM DIRECTORY (@db.schema.files);
Avisos legais¶
Consulte AI e ML Snowflake para ver os avisos legais.