- 类别:
:doc:`/sql-reference/functions-string`(大型语言模型)
COUNT_TOKENS (SNOWFLAKE.CORTEX)¶
返回实参中指定的大型语言模型或任务特定函数的提示符中的令牌数。此函数不支持微调模型。
语法¶
SNOWFLAKE.CORTEX.COUNT_TOKENS( <model_name> , <input_text> )
SNOWFLAKE.CORTEX.COUNT_TOKENS( <function_name> , <input_text> )
实参¶
必填:
model_name
要作为令牌计数基础的模型的名称。指定以下值之一:
deepseek-r1
e5-base-v2
gemma-7b
jamba-1.5-large
jamba-1.5-mini
jamba-instruct
llama2-70b-chat
llama3-70b
llama3-8b
llama3.1-405b
llama3.1-70b
llama3.1-8b
llama3.2-1b
llama3.2-3b
llama3.3-70b
llama4-maverick
llama4-scout
mixtral-8x7b
mistral-7b
mistral-large
mistral-large2
nv-embed-qa-4
reka-core
reka-flash
snowflake-arctic
snowflake-arctic-embed-m
snowflake-arctic-embed-m-v1.5
snowflake-llama-3.1-405b
snowflake-llama-3.3-70b
voyage-multilingual-2
function_name
指定以下值之一:
extract_answer
sentiment
summarize
translate
请注意,函数名称必须小写。
input_text
输入文本,计算其中的令牌。
返回¶
根据指定的模型或函数,返回输入文本中的令牌数,即 INT、INTEGER、BIGINT、SMALLINT、TINYINT、BYTEINT 类型。
使用说明¶
如果指定了函数名称,令牌数将基于函数使用的模型。
指定函数名称时,请使用小写字母。
备注
COUNT_TOKENS 不考虑使用 Cortex AISQL 函数 时自动添加到输入文本开头的托管系统提示。因此,COUNT_TOKENS 返回的值低于这些函数处理的实际词元数。
示例¶
根据 snowflake-arctic
模型获取提示 what is a large language model?
的令牌数:
SELECT SNOWFLAKE.CORTEX.COUNT_TOKENS( 'snowflake-arctic', 'what is a large language model?' );
+---+
| 6 |
+---+
根据 SUMMARIZE 函数使用的模型,获取 mytable
列中 prompt
每个提示的令牌数:
SELECT SNOWFLAKE.CORTEX.COUNT_TOKENS('SUMMARIZE', prompt) FROM mydb.myschema.mytable LIMIT 10;
+-----------+
| 1 | 1932 |
+-----------+
| 2 | 2379 |
+-----------+
| 3 | 2185 |
+-----------+
| 4 | 1195 |
+-----------+
| 5 | 2908 |
+-----------+
| 6 | 2601 |
+-----------+
| 7 | 2122 |
+-----------+
| 8 | 1720 |
+-----------+
| 9 | 2512 |
+-----------+
| 10 | 1510 |
+-----------+
获取要翻译的文本的令牌数:
SELECT SNOWFLAKE.CORTEX.COUNT_TOKENS('translate', 'Dies ist ein kurzer Text.');
+---+
| 9 |
+---+
法律声明¶
请参阅 Snowflake AI 和 ML。