- Categorias:
Funções de cadeia de caracteres e binários (funções de AI)
AI_COUNT_TOKENS¶
Nota
AI_COUNT_TOKENS é a versão atualizada do COUNT_TOKENS (SNOWFLAKE.CORTEX). Para obter a funcionalidade mais recente, use AI_COUNT_TOKENS.
Retorna o número de tokens em um prompt para o modelo de linguagem grande especificado ou função específica da tarefa.
Sintaxe¶
AI_COUNT_TOKENS(<function_name>, <model_name> , <input_text> )
AI_COUNT_TOKENS(<function_name>, <input_text> )
AI_COUNT_TOKENS(<function_name>, <input_text>, <categories> )
Argumentos¶
Obrigatório:
function_nameCadeia de caracteres contendo o nome da função na qual você deseja basear a contagem de tokens, como
'ai_complete'ou'ai_sentiment'. O nome da função deve começar com «ai_» e usar apenas letras minúsculas.Uma lista completa de funções aceitas está disponível na tabela Disponibilidade regional.
input_textInsira o texto para contar os tokens.
Opcional:
model_nameCadeia de caracteres contendo o nome do modelo no qual você deseja basear o conteúdo do token. Obrigatório se a função especificada por
function_nameexigir que você escolha o modelo a ser utilizado, como AI_COMPLETE ou AI_EMBED.Uma lista de modelos de LLM disponíveis está na tabela Disponibilidade regional. No entanto, nem todos os modelos são aceitos atualmente.
Para AI_COMPLETE, os seguintes modelos não são aceitos:
claude-4-opus
claude-4-sonnet
claude-3-7-sonnet
claude-3-5-sonnet
openai-gpt-4.1
openai-o4-mini
Para AI_EMBED, os seguintes modelos não são aceitos:
snowflake-arctic-embed-l-v2.0-8k
categoriesUma matriz de valores VARIANT que especifica uma ou mais categorias ou rótulos a serem utilizados, para funções que exigem esses dados. As categorias são incluídas na contagem de tokens de entrada.
Retornos¶
Um valor INTEGER que é o número de tokens de texto de entrada calculado usando os valores de parâmetro fornecidos.
Notas de uso¶
Use apenas letras minúsculas nos nomes de funções e modelos.
COUNT_TOKENS não funciona com funções de LLM no namespace SNOWFLAKE.CORTEX ou com modelos ajustados. Você deve especificar um nome de função que comece com «AI_».
COUNT_TOKENS aceita apenas texto, não imagens ou entradas de áudio.
COUNT_TOKENS não usa cobrança baseada em tokens e incorre apenas em custos de computação.
COUNT_TOKENS está disponível em todas as regiões, mesmo para modelos indisponíveis em uma determinada região.
Exemplos¶
Exemplo de AI_COMPLETE¶
A instrução SQL a seguir conta o número de tokens em um prompt para AI_COMPLETE e o modelo llama3.3-70b:
SELECT AI_COUNT_TOKENS('ai_complete', 'llama3.3-70b', 'Summarize the insights from this
call transcript in 20 words: "I finally splurged on these after months of hesitation about
the price, and I\'m mostly impressed. The Nulu fabric really is as buttery-soft as everyone says,
and they\'re incredibly comfortable for yoga and lounging. The high-rise waistband stays put
and doesn\'t dig in, which is rare for me. However, I\'m already seeing some pilling after
just a few wears, and they definitely require gentle care. They\'re also quite delicate -
I snagged them slightly on my gym bag zipper. Great for low-impact activities, but I wouldn\'t
recommend for high-intensity workouts. Worth it for the comfort factor"');
Resposta:
158
Exemplo de AI_EMBED¶
A instrução SQL a seguir conta o número de tokens no texto que está sendo incorporado usando a função AI_EMBED e o modelo nv-embed-qa-4':
SELECT AI_COUNT_TOKENS('ai_embed', 'nv-embed-qa-4', '"I finally splurged on these after months
of hesitation about the price, and I\'m mostly impressed. The Nulu fabric really is as buttery-soft
as everyone says, and they\'re incredibly comfortable for yoga and lounging. The high-rise waistband
stays put and doesn\'t dig in, which is rare for me. However, I\'m already seeing some pilling after
just a few wears, and they definitely require gentle care. They\'re also quite delicate - I snagged
them slightly on my gym bag zipper. Great for low-impact activities, but I wouldn\'t recommend for
high-intensity workouts. Worth it for the comfort factor"');
Resposta:
142
Exemplos AI_CLASSIFY¶
Este exemplo calcula o número total de tokens de entrada necessários para a classificação de texto com a entrada e os rótulos fornecidos:
SELECT AI_COUNT_TOKENS('ai_classify',
'One day I will see the world and learn to cook my favorite dishes',
[
{'label': 'travel'},
{'label': 'cooking'},
{'label': 'reading'},
{'label': 'driving'}
]
);
Resposta:
187
O exemplo a seguir adiciona descrições por rótulo e uma descrição geral da tarefa ao exemplo anterior:
SELECT AI_COUNT_TOKENS('ai_classify',
'One day I will see the world and learn to cook my favorite dishes',
[
{'label': 'travel', 'description': 'content related to traveling'},
{'label': 'cooking','description': 'content related to food preparation'},
{'label': 'reading','description': 'content related to reading'},
{'label': 'driving','description': 'content related to driving a car'}
],
{
'task_description': 'Determine topics related to the given text'
};
Resposta:
254
O exemplo a seguir se baseia nos dois exemplos anteriores, adicionando exemplos de rótulos:
SELECT AI_COUNT_TOKENS('ai_classify',
'One day I will see the world and learn to cook my favorite dishes',
[
{'label': 'travel', 'description': 'content related to traveling'},
{'label': 'cooking','description': 'content related to food preparation'},
{'label': 'reading','description': 'content related to reading'},
{'label': 'driving','description': 'content related to driving a car'}
],
{
'task_description': 'Determine topics related to the given text',
'examples': [
{
'input': 'i love traveling with a good book',
'labels': ['travel', 'reading'],
'explanation': 'the text mentions traveling and a good book which relates to reading'
}
]
}
);
Resposta:
298
Exemplos AI_SENTIMENT¶
A instrução SQL a seguir conta o número de tokens no texto que está sendo analisado em busca de sentimento usando a função AI_SENTIMENT:
SELECT AI_COUNT_TOKENS('ai_sentiment',
'This place makes the best truffle pizza in the world! Too bad I cannot afford it');
Resposta:
139
O exemplo a seguir adiciona rótulos ao exemplo anterior:
SELECT AI_COUNT_TOKENS('ai_sentiment',
'This place makes the best truffle pizza in the world! Too bad I cannot afford it',
[
{'label': 'positive'},
{'label': 'negative'},
{'label': 'neutral'}
]
);
Resposta:
148
Avisos legais¶
Consulte AI e ML Snowflake.