类别:

: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> )
Copy

实参

必填:

model_name

要作为令牌计数基础的模型的名称。指定以下值之一:

  • snowflake-arctic

  • mistral-large

  • reka-flash

  • reka-core

  • mixtral-8x7b

  • llama2-70b-chat

  • llama3-8b

  • llama3-70b

  • mistral-7b

  • gemma-7b

  • snowflake-arctic-embed-m

  • e5-base-v2

  • nv-embed-qa-4

function_name

任务特定函数 之一的名称。指定以下值之一:

  • extract_answer

  • sentiment

  • summarize

  • translate

请注意,函数名称必须小写。

input_text

输入文本,计算其中的令牌。

返回

根据指定的模型或函数,返回输入文本中的令牌数,即 INT、INTEGER、BIGINT、SMALLINT、TINYINT、BYTEINT 类型。

使用说明

  • 如果指定了函数名称,令牌数将基于函数使用的模型。

  • 指定函数名称时,请使用小写字母。

示例

根据 snowflake-arctic 模型获取提示 what is a large language model? 的令牌数:

SELECT SNOWFLAKE.CORTEX.COUNT_TOKENS( 'snowflake-arctic', 'what is a large language model?' );
Copy
+---+
| 6 |
+---+

根据 SUMMARIZE 函数使用的模型,获取 mytable 列中 prompt 每个提示的令牌数:

SELECT SNOWFLAKE.CORTEX.COUNT_TOKENS('SUMMARIZE', prompt) FROM mydb.myschema.mytable LIMIT 10;
Copy
+-----------+
| 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.');
Copy
+---+
| 9 |
+---+
语言: 中文