Cortex AISQL Images¶
Com o Cortex AI Images, você pode realizar o seguinte:
Comparar imagens
Gerar legendas para imagens
Classificar imagens
Extrair entidades de imagens
Responder a perguntas usando dados em gráficos e tabelas
Você pode realizar essas tarefas com as seguintes funções:
Requisitos de entrada¶
A multimodal COMPLETE pode processar imagens com as seguintes características:
Requisito |
Valor |
---|---|
Extensões de nome de arquivo |
|
Criptografia de estágio |
Criptografia do lado do servidor |
Tipo de dados |
Nota
Atualmente, o processamento de arquivos de estágios é incompatível com políticas de rede personalizadas.
Criação de um estágio para o processamento de imagens¶
Crie um estágio adequado para armazenar as imagens a serem processadas. O estágio deve ter uma tabela de diretório e criptografia no lado do servidor.
O SQL abaixo cria um estágio interno adequado.
CREATE OR REPLACE STAGE input_stage
DIRECTORY = ( ENABLE = true )
ENCRYPTION = ( TYPE = 'SNOWFLAKE_SSE' );
O SQL a seguir cria um estágio externo no Amazon S3. Também há suporte para os estágios externos do Azure e GCP.
CREATE OR REPLACE STAGE input_stage
URL='s3://<s3-path>/'
DIRECTORY = ( ENABLE = true )
CREDENTIALS = (AWS_KEY_ID = <aws_key_id>
AWS_SECRET_KEY = <aws_secret_key>)
ENCRYPTION = ( TYPE = 'AWS_SSE_S3' );
Nota
Para atualizar automaticamente a tabela de diretórios do estágio externo quando houver arquivos novos ou atualizados disponíveis, passe a opção AUTO_REFRESH = true
ao criar o estágio. Para obter mais informações, consulte CREATE STAGE.
Processamento de imagens¶
A função COMPLETE processa uma única imagem ou várias imagens (por exemplo, extraindo diferenças em entidades em várias imagens). A chamada de função especifica o seguinte:
O modelo multimodal a ser usado
Um prompt
O caminho do estágio do(s) arquivo(s) de imagem por meio de um objeto FILE
Exemplo com uma imagem¶
O exemplo a seguir usa o modelo Claude Sonnet 3.5 do Anthropic para resumir um gráfico de pizza science-employment-slide.jpeg
armazenado no estágio @myimages
.

A distribuição das ocupações em que a matemática é considerada “extremamente importante” em 2023¶
SELECT AI_COMPLETE('claude-3-5-sonnet',
'Summarize the insights from this pie chart in 100 words',
TO_FILE('@myimages', 'science-employment-slide.jpeg'));
Resposta:
This pie chart shows the distribution of occupations where mathematics is considered "extremely important" in 2023.
Data scientists dominate with nearly half (48.7%) of all such positions, followed by operations research analysts
at 29.6%. The remaining positions are distributed among statisticians (7.8%), actuaries (7.2%), physicists (5.1%),
mathematicians (0.6%), and other mathematical science occupations (1.1%). This distribution highlights the growing
importance of data science in mathematics-intensive careers, while traditional mathematics roles represent a smaller
share of the workforce.
Exemplo com várias imagens¶
Nota
Atualmente, apenas os modelos Anthropic (claude
) e Meta (llama
) podem fazer referência a várias imagens em um único prompt. O suporte a várias imagens para outros modelos poderá estar disponível em um lançamento futuro.
Use a função auxiliar PROMPT para processar várias imagens em uma única chamada COMPLETE. O exemplo a seguir usa o modelo Claude Sonnet 3.5 da Anthropic para comparar dois criativos de anúncios diferentes do estágio @myimages
.

Imagem de dois anúncios de carros elétricos¶
SELECT AI_COMPLETE('claude-3-5-sonnet',
PROMPT('Compare this image {0} to this image {1} and describe the ideal audience for each in two concise bullets no longer than 10 words',
TO_FILE('@myimages', 'adcreative_1.png'),
TO_FILE('@myimages', 'adcreative_2.png')
));
Resposta:
First image ("Discover a New Energy"):
• Conservative luxury SUV buyers seeking a subtle transition to electrification
Second image ("Electrify Your Drive"):
• Young, tech-savvy urbanites attracted to bold, progressive automotive design
Limitações do modelo¶
Todos os modelos disponíveis para o Snowflake Cortex têm limitações quanto ao número total de tokens de entrada e saída, conhecido como a janela de contexto do modelo. O tamanho da janela de contexto é medido em tokens. As entradas que excedem o limite da janela de contexto resultam em um erro.
Para modelos de texto, os tokens geralmente representam aproximadamente quatro caracteres de texto, portanto, a contagem de palavras correspondente a um limite é menor que a contagem de tokens.
Para modelos de imagem, a contagem de tokens por imagem depende da arquitetura do modelo de visão. Os tokens em um prompt (por exemplo, “que animal é esse?”) também contribuem para a janela de contexto do modelo.
Modelo |
Janela de contexto (tokens) |
Tipos de arquivo |
Tamanho do arquivo |
Imagens por prompt |
---|---|---|---|---|
|
200,000 |
.jpg, .jpeg, .png, .webp, .gif |
3,75 MB [L1] |
20 |
|
200,000 |
.jpg, .jpeg, .png, .webp, .gif |
3,75 MB [L1] |
20 |
|
200,000 |
.jpg, .jpeg, .png, .webp, .gif |
3,75 MB [L1] |
20 |
|
200,000 |
.jpg, .jpeg, .png, .webp, .gif |
3,75 MB [L1] |
20 |
|
128,000 |
.jpg, .jpeg, .png, .webp, .gif, .bmp [L2] |
10 MB |
10 |
|
128,000 |
.jpg, .jpeg, .png, .webp, .gif |
10 MB |
10 |
|
128,000 |
.jpg, .jpeg, .png, .webp, .gif, .bmp [L2] |
10 MB |
1 |
Considerações sobre custo¶
O faturamento é escalonado de acordo com o número de tokens processados. O número de tokens por imagem depende da arquitetura do modelo de visão.
A fórmula dos modelos antrópicos (
claude
) é aproximadamente: tokens = (largura em pixels × altura em pixels)/750.Os modelos Mistral (
pixtral
) dividem cada imagem em lotes de 16 × 16 pixels e convertem cada lote em um token. O número total de tokens é equivalente a aproximadamente (largura em pixels/16) * (altura em pixels/16).Os modelos Meta (
llama
) tentam colocar a imagem em blocos quadrados. Dependendo da proporção e do tamanho da imagem, o número de blocos pode ser de até 16, cada uma representada por cerca de 153 tokens.
Nota
No momento, a função COUNT_TOKENS não é compatível com entradas de imagem.
Escolha de um modelo de visão¶
A função COMPLETE é compatível com vários modelos de capacidade, latência e custo variados. Para obter o melhor desempenho por crédito, escolha um modelo que se alinhe ao tamanho do conteúdo e à complexidade da tarefa.
Modelo |
MMMU |
Mathvista |
ChartQA |
DocVQA |
VQAv2 |
---|---|---|---|---|---|
GPT-4o |
68,6 |
64,6 |
85,1 |
88,9 |
77,8 |
claude-3-5-sonnet |
68,0 |
64,4 |
87,6 |
90,3 |
70,7 |
llama-4-maverick |
73,4 |
673,7 |
90 |
94,4 |
|
llama-4-scout |
69,4 |
70,7 |
88,8 |
94,4 |
|
pixtral-large |
64,0 |
69,4 |
88,1 |
85,7 |
67 |
Os benchmarks são:
MMMU: avalia modelos multimodais em tarefas multidisciplinares que exigem raciocínio de nível universitário.
Mathvista: referência de raciocínio matemático em um contexto visual.
ChartQA: avalia questões de raciocínio complexas sobre gráficos.
DocVQA e VQv2: benchmarks para responder a perguntas visuais em documentos.
Disponibilidade regional¶
O suporte a esse recurso está disponível nativamente para contas nas seguintes regiões do Snowflake:
Modelo
|
AWS US West 2
(Oregon)
|
AWS US East 1
(N. Virginia)
|
AWS Europe Central 1
(Frankfurt)
|
---|---|---|---|
|
✔ |
✔ |
|
|
|||
|
|||
|
|||
|
✔ |
✔ |
✔ |
|
✔ |
||
|
✔ |
A multimodal COMPLETE está disponível em outras regiões por meio de Inferência entre regiões.
Condições de erro¶
Mensagem |
Explicação |
---|---|
Falha na solicitação da função externa SYSTEM$COMPLETE_WITH_IMAGE_INTERNAL com erro de serviço remoto: 400 “invalid image path” |
A extensão do arquivo ou o próprio arquivo não é aceito pelo modelo. A mensagem também pode significar que o caminho do arquivo está incorreto, ou seja, o arquivo não existe no local especificado. Os nomes de arquivos diferenciam maiúsculas de minúsculas. |
Erro no objeto seguro |
Pode indicar que o estágio não existe. Verifique o nome do estágio e certifique-se de que o estágio exista e esteja acessível. Não se esqueça de usar o sinal de arroba (@) no início do caminho do estágio, como |
Falha na solicitação da função externa _COMPLETE_WITH_PROMPT com erro de serviço remoto: 400 “invalid request parameters: unsupported image format: image/**” |
Formato de imagem não compatível fornecido a |
Falha na solicitação da função externa _COMPLETE_WITH_PROMPT com erro de serviço remoto: 400 “invalid request parameters: Image data exceeds the limit of 5.00 MB” |
A imagem fornecida para |
Jurídico¶
A classificação dos dados de entradas e saídas é definido na tabela a seguir.
Classificação de dados de entrada |
Classificação de dados de saída |
Designação |
---|---|---|
Usage Data |
Customer Data |
As funções disponíveis ao público em geral são recursos de AI cobertos. As funções em versão preliminar são recursos de AI em versão preliminar. [1] |
Para obter informações adicionais, consulte AI e ML Snowflake.