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: 18 days ago

¿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, la puntuación y las palabras parciales también contribuyen al conteo de tokens. Así es como la API segmenta internamente tu texto antes de generar una respuesta.

Reglas prácticas útiles para el inglés:

  • 1 token ≈ 4 caracteres

  • 1 token ≈ ¾ de una palabra

  • 100 tokens ≈ 75 palabras

  • 1–2 oraciones ≈ 30 tokens

  • 1 párrafo ≈ 100 tokens

  • ~1,500 palabras ≈ 2,048 tokens

La tokenización puede variar según el idioma. Por ejemplo, “Cómo estás” (español para “How are you”) contiene 5 tokens para 10 caracteres. El texto que no está en inglés suele producir una proporción más alta de tokens por carácter, lo que puede afectar costos y límites.

Ejemplos

Aquí tienes algunas muestras de texto del mundo real con su conteo aproximado de tokens:

  • La cita de Wayne Gretzky “You miss 100% of the shots you don’t take” = 11 tokens

  • La Carta de OpenAI = 476 tokens

  • La Declaración de Independencia de EE. UU. = 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 esos tokens.

  3. La respuesta se genera como una secuencia de tokens y luego se convierte de nuevo a texto.

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

  • Tokens de entrada – tokens en tu solicitud.

  • Tokens de salida – tokens generados en la respuesta.

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

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

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

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

Como alternativa, si quieres tokenizar texto de forma programática, usa Tiktoken como un tokenizador BPE rápido que se usa 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 grandes en fragmentos más pequeños.

  • Resumir o preprocesar las entradas antes de enviarlas.

Precios de tokens

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

Explorar 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 convierten los tokens predichos de nuevo en las palabras que vemos en la respuesta.

Lo que para nosotros podrían parecer dos palabras idénticas puede generarse como tokens diferentes según cómo estén estructuradas dentro del texto. Considera 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” para ‘ red’ incluye un espacio al final (nota: estos son ID de tokens de ejemplo con fines demostrativos).

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” para ‘ Red’ (con un espacio al inicio y empezando con una letra mayúscula) es distinto del token “2266” para ‘ red’ con una letra 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’ se usa al inicio 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/frecuente es un token, más bajo es el número de token que se le asigna:

  • El token generado para el punto es el mismo (“13”) en las 3 oraciones. Esto se debe a que, en contexto, el punto se usa de manera bastante similar en todo el corpus de datos.

  • El token generado para ‘red’ varía según su ubicación dentro de la oración:

    • Minúscula en medio de una oración: ‘ red’ - (token: “2266”)

    • Mayúscula en medio de una oración: ‘ Red’ - (token: “2297”)

    • Mayúscula al inicio de una oración: ‘Red’ - (token: “7738”)

¿Este artículo te fue útil?