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 lo lee un modelo de lenguaje de IA. Los tokens son los pequeños fragmentos de texto, como palabras completas, partes de palabras o signos de puntuación, que modelos como GPT-4 procesan en lugar de letras sueltas. Esta herramienta usa tiktoken, el tokenizador BPE de código abierto publicado por OpenAI para sus modelos, de modo que los recuentos coinciden con los que producirían los modelos de OpenAI que usan la misma codificación.

Cómo funciona la tokenización

Un tokenizador no se limita a contar palabras. Procesa el texto con un algoritmo llamado codificación por pares de bytes (BPE). El algoritmo parte de los bytes individuales del texto y fusiona repetidamente el par adyacente más común en un nuevo token, según los patrones aprendidos durante el entrenamiento a partir de un gran conjunto de textos. El resultado es un vocabulario fijo de decenas de miles de fragmentos comunes: palabras cortas completas, fragmentos de palabra frecuentes y caracteres sueltos para todo lo poco habitual.

Por eso, una palabra en inglés suele convertirse en un solo token, pero las palabras más largas o inusuales pueden dividirse en dos o más. Los espacios suelen unirse al inicio 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 cuatro:

CodificaciónUsada porTamaño aproximado del vocabulario
o200k_baseGPT-4o, GPT-4,1, GPT-5, o1, o3, o4-miniunos 200.000 tokens
cl100k_baseGPT-4, GPT-3,5 Turbo, modelos text-embedding-3unos 100.000 tokens
p50k_basetext-davinci-002, text-davinci-003 y modelos Codexunos 50.000 tokens
r50k_baseModelos originales de GPT-3, como davinciunos 50.000 tokens

La tabla de modelos de tiktoken asigna los modelos anteriores a estas codificaciones. GPT-4o, GPT-4,1, GPT-5 y los modelos de la serie o usan o200k_base. GPT-4 y GPT-3,5 Turbo usan cl100k_base. La herramienta muestra los modelos correspondientes junto a cada opción. cl100k_base está seleccionada por defecto.

Las definiciones de las codificaciones asignan a r50k_base 50.257 tokens y a p50k_base 50.281. El mismo texto puede producir un recuento de tokens distinto con cada codificación, porque cada una se entrenó con textos diferentes y fusiona los caracteres de otra manera.

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 fusiones de BPE dependen del texto concreto y del vocabulario entrenado. El único método exacto es pasar el texto por el propio tokenizador:

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

Como estimación aproximada, la documentación de tiktoken indica que cada token equivale a unos 4 bytes de texto en promedio. En inglés sencillo, un byte es un carácter, así que son unos cuatro caracteres por token. Esto es solo una referencia. Los números, el código, el texto que no está en inglés y la ortografía inusual pueden cambiar mucho esta proporción.

Ejemplo resuelto

Tomemos la oración:

«Tokenization splits text into pieces.»

Con la codificación cl100k_base, tiktoken la divide 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 se mantienen enteras. El punto final es un token aparte. Por eso una oración de 37 caracteres y 5 palabras produce 7 tokens y no 5. En este ejemplo, o200k_base, p50k_base y r50k_base dan los mismos 7 tokens.

Las codificaciones difieren más con texto que no está en inglés. El OpenAI Cookbook las compara con la frase japonesa «お誕生日おめでとう» («feliz cumpleaños»). Cuenta 14 tokens con r50k_base y p50k_base, 9 con cl100k_base y 8 con o200k_base.

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 la respuesta, de modo que el recuento de tokens permite prever el costo antes de enviar una solicitud. Además, todo modelo tiene una longitud máxima de contexto, un límite de cuántos tokens pueden contener juntos una solicitud y su respuesta. Ese límite varía según el modelo y cambia cuando los proveedores publican nuevas versiones, por lo que conviene consultarlo en la documentación vigente del modelo que se use en lugar de darlo por sabido de 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 sola 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é distintas codificaciones dan recuentos de tokens diferentes para el mismo texto? Cada codificación se entrenó con su propia muestra de texto y construyó su propio vocabulario de fragmentos comunes. Una palabra que es lo bastante común como para ser un único token en un vocabulario puede no serlo en otro, y entonces se divide de forma distinta.

¿La puntuación cuenta como token? Sí. Los signos de puntuación suelen contarse como tokens propios, o a veces se fusionan con el carácter contiguo, según la frecuencia con que esa combinación apareció durante el entrenamiento del tokenizador.

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

¿Qué tan precisa es esta herramienta? Cuenta los tokens con la biblioteca tiktoken de OpenAI, por lo que el recuento es exacto para la codificación elegida. Coincide con un modelo de OpenAI solo si ese modelo usa la misma codificación.

¿Qué codificación se debe seleccionar? La que use el modelo de destino. Para GPT-4o, GPT-4,1, GPT-5 y los modelos de la serie o, es o200k_base. Para GPT-4 y GPT-3,5 Turbo, es cl100k_base.

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

Referencias

  1. OpenAI. tiktoken (README). tiktoken en GitHub: un tokenizador BPE para usar con los modelos de OpenAI; en promedio, cada token equivale a unos 4 bytes.
  2. OpenAI. tiktoken/_educational.py. Código educativo de BPE de tiktoken: el entrenamiento de BPE parte de bytes individuales y convierte repetidamente el par más común en un nuevo token.
  3. OpenAI. tiktoken/model.py. Tabla de modelos y codificaciones de tiktoken: qué modelos de OpenAI usan cl100k_base, p50k_base, r50k_base y o200k_base.
  4. OpenAI. tiktoken_ext/openai_public.py. Definiciones de las codificaciones de tiktoken: tamaños de vocabulario de r50k_base (50.257) y p50k_base (50.281).
  5. OpenAI. How to count tokens with tiktoken, OpenAI Cookbook. Cuaderno del OpenAI Cookbook: compare_encodings("お誕生日おめでとう") da 14 tokens para r50k_base y p50k_base, 9 para cl100k_base y 8 para o200k_base.