Categorias:

Funções de cadeia de caracteres e binários (funções de AI)

AI_EMBED

Nota

AI_EMBED é a versão atualizada do EMBED_TEXT_1024 (SNOWFLAKE.CORTEX) and EMBED_TEXT_768 (SNOWFLAKE.CORTEX). Para obter a funcionalidade mais recente, use AI_EMBED.

Cria um vetor de incorporação a partir de texto ou imagem. Incorporações são representações numéricas abstratos dos recursos de um trecho de texto ou de uma imagem que podem ser usados para determinar o grau de similaridade entre trechos de texto ou imagens, que podem ser usados para pesquisa semântica, clustering, classificação e outras tarefas.

Disponibilidade de região

A tabela a seguir mostra as regiões onde você pode usar a função AI_EMBED para texto e imagens:

Tipo de dados
AWS US West 2
(Oregon)
AWS US East 1
(N. Virginia)
AWS Europe Central 1
(Frankfurt)
AWS Europe West 1
(Ireland)
AWS AP Southeast 2
(Sidney)
AWS AP Northeast 1
(Tokyo)
Azure East US 2
(Virginia)
Azure West Europe
(Países Baixos)
AWS
(Entre regiões)
Texto

Imagem

Sintaxe

AI_EMBED( <model> , <input> )
Copy

Argumentos

Obrigatório:

model

Uma string que especifica o modelo de incorporação vetorial a ser usado para gerar a incorporação.

Para texto, você pode fornecer os seguintes valores:

  • snowflake-arctic-embed-l-v2.0

  • snowflake-arctic-embed-l-v2.0-8k

  • nv-embed-qa-4

  • multilingual-e5-large

  • voyage-multilingual-2

  • snowflake-arctic-embed-m-v1.5

  • snowflake-arctic-embed-m

  • e5-base-v2

Para imagens, você pode fornecer somente o seguinte valor:

  • voyage-multimodal-3

Os modelos suportados podem ter custos diferentes.

input

A string ou imagem (como objeto FILE) da qual gerar uma incorporação. As imagens devem:

  • estar no formato JPEG, WEBP, PNG ou BMP;

  • ter um tamanho máximo de 10 MB;

  • ter no máximo 8.000 × 8.000 pixels.

Retornos

Um vetor de incorporação do tipo VECTOR derivado do texto ou imagem de entrada.

Requisitos de controle de acesso

Os usuários devem usar uma função que tenha a função de banco de dados SNOWFLAKE.CORTEX_USER. Para obter mais informações sobre esse privilégio, consulte Privilégios obrigatórios.

Exemplos

Exemplo de texto

Neste exemplo, uma incorporação vetorial é gerada para a frase hello world usando o modelo snowflake-arctic-embed-l-v2.0:

SELECT AI_EMBED('snowflake-arctic-embed-l-v2.0', 'hello world');
Copy

Exemplo de imagem

Neste exemplo, uma incorporação vetorial é gerada para uma imagem preparada usando o modelo voyage-multimodal-3:

SELECT AI_EMBED('voyage-multimodal-3',
        TO_FILE ('@my_images', 'CITY_WALKING1.PNG'));
Copy

Limitações

  • As funções do Snowflake AI não são compatíveis com a atualização incremental dinâmica da tabela.

  • As funções do Snowflake AI não funcionam em objetos FILE criados a partir de arquivos nos seguintes tipos de estágios:

    • Estágios internos com modo de criptografia TYPE = 'SNOWFLAKE_FULL'

    • Áreas de preparação externa com qualquer modo criptografado do lado do cliente, como AWS_CSE ou AZURE_CSE.

    • Estágio do usuário

    • Estágio da tabela

    • Estágio com nomes entre aspas duplas