Saltar al contenido

Contador de Tokens Gratuito para GPT-4, ChatGPT y Modelos de IA

Contador de tokens preciso utilizando la biblioteca tiktoken de OpenAI. Cuenta tokens para modelos GPT-4, ChatGPT y GPT-3. Gestiona los costos de API y optimiza los prompts de IA al instante.

Contador de Tokens

Codificación

Entrada inválida

Calculadora de carga...
📚

Documentación

¿Qué es un contador de tokens?

Un contador de tokens mide en cuántos tokens se divide un texto cuando un modelo de lenguaje de IA lo lee. Los tokens son pequeños fragmentos de texto —palabras completas, partes de palabras o signos de puntuación— que modelos como GPT-4 y ChatGPT procesan en lugar de letras sin procesar. Esta herramienta utiliza tiktoken, la biblioteca de tokenización de código abierto publicada por OpenAI, por lo que los recuentos coinciden con los que producirían los propios modelos y la API de OpenAI.

Cómo funciona la tokenización

Un tokenizador no se limita a contar palabras. Procesa el texto mediante un algoritmo llamado codificación por pares de bytes (BPE). El algoritmo comienza con bytes individuales del texto y combina repetidamente los pares adyacentes más frecuentes, basándose en patrones aprendidos de un gran corpus de texto durante el entrenamiento. El resultado es un vocabulario fijo de decenas de miles de fragmentos habituales: palabras cortas completas, fragmentos frecuentes de palabras y caracteres individuales para todo aquello que sea poco común.

Por este motivo, una palabra en inglés suele convertirse en un token, pero las palabras más largas o inusuales pueden dividirse en dos o más. Normalmente, los espacios se incorporan al comienzo del token siguiente en lugar de contarse por separado, y los signos de puntuación suelen ser tokens independientes.

Codificaciones compatibles con esta herramienta

Tiktoken ofrece varias codificaciones, cada una asociada a una familia de modelos de OpenAI. Esta herramienta admite tres:

CodificaciónUtilizada porTamaño aproximado del vocabulario
cl100k_baseModelos de las familias GPT-3.5 y GPT-4, ChatGPTaproximadamente 100.000 tokens
p50k_baseModelos GPT-3 posterioresaproximadamente 50.000 tokens
r50k_baseModelos GPT-3 y GPT-2 anterioresaproximadamente 50.000 tokens

cl100k_base se selecciona de forma predeterminada, ya que abarca la familia de modelos que utiliza la mayoría de las personas actualmente. El mismo texto puede producir un recuento de tokens diferente con cada codificación, porque cada una se entrenó con textos distintos y combina los caracteres de manera diferente.

Cómo calcular el número de tokens

No existe una fórmula aritmética sencilla para convertir el número de caracteres o de palabras en un número de tokens, porque las combinaciones de BPE dependen del texto concreto y del vocabulario entrenado. El único método exacto consiste en procesar el texto con el propio tokenizador:

  1. Seleccionar la codificación que corresponda al modelo de destino.
  2. Introducir el texto en el tokenizador de esa codificación.
  3. Contar la lista resultante de identificadores de tokens. La longitud de esa lista es el número de tokens.

Como estimación aproximada para textos en inglés, un token equivale aproximadamente a cuatro caracteres o a tres cuartas partes de una palabra. Es solo una referencia. Los números, el código, los textos que no están en inglés y la ortografía inusual pueden alterar mucho esta proporción.

Ejemplo paso a paso

Tomemos la frase:

"Tokenization splits text into pieces."

Con la codificación cl100k_base, tiktoken divide esta frase en 7 tokens:

Token, ization, splits, text, into, pieces, .

Obsérvese que "Tokenization" se divide en dos tokens, "Token" e "ization", mientras que las demás palabras permanecen completas. El punto final es su propio token. Por eso, una frase de 37 caracteres y 5 palabras produce 7 tokens en lugar de 6.

Por qué importa el número de tokens

Los proveedores de IA cobran el uso de la API por token y cuentan tanto el texto enviado como el texto generado en respuesta, por lo que un recuento de tokens permite prever el coste antes de enviar una solicitud. Cada modelo también tiene una longitud máxima de contexto: un límite para la cantidad de tokens que pueden contener conjuntamente una solicitud individual y su respuesta. Ese límite varía según el modelo y cambia cuando los proveedores publican nuevas versiones. Por eso, conviene consultarlo en la documentación actual del modelo utilizado en lugar de darlo por supuesto basándose en la memoria.

Preguntas frecuentes

¿Qué es un token en los modelos de lenguaje de IA?
Un token es un fragmento de texto que un modelo de lenguaje lee como una unidad. Puede ser una palabra corta completa, parte de una palabra más larga, un signo de puntuación o un espacio unido a la palabra siguiente.

¿Por qué las distintas codificaciones producen diferentes recuentos de tokens para el mismo texto?
Cada codificación se entrenó con su propio conjunto de textos y creó su propio vocabulario de fragmentos frecuentes. Una palabra lo bastante común como para ser un solo token en un vocabulario puede no existir como tal en otro, por lo que se divide de manera diferente.

¿La puntuación cuenta como un token?
Sí. Los signos de puntuación suelen contarse como tokens independientes o, en algunos casos, se combinan con el carácter adyacente, según la frecuencia con la que esa combinación apareciera durante el entrenamiento del tokenizador.

¿Un token es lo mismo que una palabra?
No. Las palabras cortas y frecuentes suelen ser un token cada una. Las palabras más largas o menos frecuentes, así como la mayoría de las palabras que no están en inglés, suelen dividirse en dos o más tokens.

¿Qué precisión tiene esta herramienta?
Cuenta los tokens mediante la propia biblioteca tiktoken de OpenAI y ejecuta la misma lógica de codificación que OpenAI utiliza internamente. Por tanto, el recuento coincide con el que informaría una llamada a la API de OpenAI para el mismo texto y la misma codificación.

¿Puede esta herramienta contar tokens de modelos que no son de OpenAI?
Utiliza las codificaciones de tiktoken, creadas para los modelos de OpenAI. Otros proveedores, como Anthropic o Google, utilizan sus propios tokenizadores, que pueden producir recuentos diferentes para el mismo texto.

Referencias

  1. OpenAI. "tiktoken." GitHub, https://github.com/openai/tiktoken.
  2. Sennrich, Rico, et al. "Neural Machine Translation of Rare Words with Subword Units." arXiv:1508.07909, 2016, http://arxiv.org/abs/1508.07909.
  3. Brown, Tom B., et al. "Language Models are Few-Shot Learners." arXiv:2005.14165, 2020, http://arxiv.org/abs/2005.14165.