OpenAI
Esta página se tradujo automáticamente. Ver el artículo original en inglés.

¿Qué son los tokens y cómo contarlos?

Última actualización: yesterday

¿Qué son los tokens?

Los tokens son los componentes básicos del texto que procesan los modelos de OpenAI. Pueden ser tan cortos como un solo carácter o tan largos como una palabra completa, según el idioma y el contexto. Los espacios, los signos de puntuación y las partes de palabras contribuyen al conteo de tokens. Así es como la API segmenta internamente el texto antes de generar una respuesta.

Reglas generales útiles para el inglés:

  • 1 token ≈ 4 caracteres

  • 1 token ≈ ¾ de una palabra

  • 100 tokens ≈ 75 palabras

  • 1 o 2 oraciones ≈ 30 tokens

  • 1 párrafo ≈ 100 tokens

  • ~1 500 palabras ≈ 2 048 tokens

La tokenización varía según el modelo y la codificación. Usa la herramienta Tokenizer o tiktoken.encoding_for_model(model) para obtener el conteo exacto del modelo de destino.

Ejemplos

Estos son algunos ejemplos de textos reales con sus conteos aproximados de tokens:

  • La frase de Wayne Gretzky “Fallas el 100 % de los tiros que no haces” = 11 tokens

  • La Carta de OpenAI = 476 tokens

  • La Declaración de Independencia de Estados Unidos = 1 695 tokens

Cómo se calculan los conteos de tokens

Cuando envías texto a la API:

  1. El texto se divide en tokens.

  2. El modelo procesa estos tokens.

  3. La respuesta se genera como una secuencia de tokens y luego vuelve a convertirse en texto.

El uso de tokens se registra en varias categorías:

  • Tokens de entrada: tokens incluidos en tu solicitud.

  • Tokens de salida: tokens generados en la respuesta.

  • Tokens almacenados en caché: tokens reutilizados del historial de la conversación (a menudo se facturan a una tarifa reducida).

  • Tokens de razonamiento: en algunos modelos avanzados, se incluyen internamente “pasos de razonamiento” adicionales antes de producir el resultado final.

Estos conteos aparecen en los metadatos de la respuesta de la API y se usan para la facturación y el seguimiento del uso.

Para explorar más la tokenización, puedes usar nuestra herramienta interactiva Tokenizer, que permite calcular la cantidad de tokens y ver cómo se divide el texto en tokens.

Como alternativa, si quieres tokenizar texto mediante programación, usa Tiktoken, un tokenizador BPE rápido diseñado específicamente para los modelos de OpenAI.

Límites de tokens

Cada modelo tiene un límite máximo combinado de tokens (entrada + salida). Los modelos actuales de alta capacidad admiten hasta cientos de miles de tokens en contexto, aunque los límites prácticos pueden variar según la versión del modelo y tu nivel de uso.

Si superas el límite, puedes:

  • Acortar o reformular los prompts.

  • Dividir textos extensos en fragmentos más pequeños.

  • Resumir o preprocesar las entradas antes de enviarlas.

Precios de los tokens

El uso de la API se cobra por token; el precio varía según el modelo y si los tokens son de entrada, de salida o están almacenados en caché. Consulta las tarifas actuales en la página de precios de OpenAI. Algunos modelos de razonamiento pueden usar más tokens internamente, pero buscan mejorar la eficiencia al reducir la cantidad de tokens necesarios para completar cada tarea.

Explorar los tokens

La API trata las palabras según su contexto en los datos del corpus. Los modelos toman el prompt, convierten la entrada en una lista de tokens, procesan el prompt y vuelven a convertir los tokens predichos en las palabras que vemos en la respuesta.

Dos palabras que nos parecen idénticas pueden convertirse en tokens distintos según cómo estén estructuradas dentro del texto. Observa cómo la API genera valores de token para la palabra “red” según su contexto dentro del texto:

Sentence split into color-coded tokens with Text selected over Token IDs
Token ID output as a list of integers with the Token IDs tab selected

En el primer ejemplo anterior, el token “2266” de “ red” incluye un espacio final (estos ID de token son ejemplos con fines ilustrativos).

Sentence split into color-coded token blocks: My favorite color is Red.
Tokenizer output with Token IDs selected and a list of numeric token IDs

El token “2296” de “ Red” (con un espacio inicial y la primera letra en mayúscula) es distinto del token “2266” de “ red”, que está en minúscula.

Tokenizer example splitting “Red is my favorite color.” into color-coded tokens
Tokenizer output with Token IDs selected and a list of token ID numbers

Cuando “Red” aparece al principio de una oración, el token generado no incluye un espacio inicial. El token “7738” es distinto de los dos ejemplos anteriores de la palabra.

Observaciones:

Cuanto más probable o frecuente sea un token, menor será el número de token que se le asigne:

  • El token generado para el punto es el mismo (“13”) en las 3 oraciones. Esto se debe a que, en términos contextuales, el punto se usa de manera muy similar en todos los datos del corpus.

  • El token generado para “red” varía según su posición dentro de la oración:

    • En minúscula, en medio de una oración: “ red” (token: “2266”)

    • Con mayúscula, en medio de una oración: “ Red” (token: “2297”)

    • Con mayúscula, al principio de una oración: “Red” (token: “7738”)

¿Este artículo te fue útil?