Categorias:

Funções de cadeia de caracteres e binários (Large Language Model)

COUNT_TOKENS (SNOWFLAKE.CORTEX)

Retorna o número de tokens em um prompt para o modelo de linguagem grande ou a função específica da tarefa definida no argumento. Esta função não é compatível com modelos com ajuste fino.

Sintaxe

SNOWFLAKE.CORTEX.COUNT_TOKENS( <model_name> , <input_text> )

SNOWFLAKE.CORTEX.COUNT_TOKENS( <function_name> , <input_text> )
Copy

Argumentos

Obrigatório:

model_name

Nome do modelo no qual deseja basear a contagem de token. Especifique um dos seguintes vaores:

  • 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

Nome de uma das funções específicas da tarefa. Especifique um dos seguintes vaores:

  • extract_answer

  • sentiment

  • summarize

  • translate

Observe que os nomes das função devem estar em letras minúsculas.

input_text

Insira o texto para contar os tokens.

Retornos

Retorna um tipo INT , INTEGER , BIGINT , SMALLINT , TINYINT , BYTEINT que é o número de tokens no texto de entrada com base no modelo ou função especificado.

Notas de uso

  • Se um nome de função for especificado, a contagem de token será baseada no modelo usado pela função.

  • Ao especificar um nome de função, use letras minúsculas.

Exemplos

Obtenha a contagem de token para o prompt what is a large language model? com base no modelo snowflake-arctic:

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

Obtenha a contagem de token para cada um dos prompts na coluna prompt de mytable com base no modelo usado para a função SUMMARIZE:

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 |
+-----------+

Obtenha a contagem de token para um texto que deseja traduzir:

SELECT SNOWFLAKE.CORTEX.COUNT_TOKENS('translate', 'Dies ist ein kurzer Text.');
Copy
+---+
| 9 |
+---+