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

Comprender y contar tokens

Descubre cómo los tokens de entrada, salida, caché y razonamiento afectan el uso de la API, los límites de los modelos y los costos.

Última actualización: 10 days ago

Descripción general

Los tokens son las unidades que los modelos de OpenAI usan para procesar texto. Un token puede representar un carácter, una parte de una palabra, una palabra completa o un signo de puntuación. Los espacios también afectan la forma en que el texto se divide en tokens.

El conteo de tokens no es lo mismo que el conteo de palabras. El mismo texto puede producir distintos conteos de tokens según el modelo, su codificación y el idioma.

Comprender cómo el texto se convierte en tokens

Cuando envías texto a un modelo:

  1. El texto se divide en tokens.

  2. El modelo procesa esos tokens.

  3. El modelo genera tokens de salida. Estos pueden incluir el texto que recibes y, en los modelos de razonamiento, tokens de razonamiento internos que no se muestran como texto de la respuesta.

Usar estimaciones aproximadas para textos en inglés

Estas estimaciones pueden ayudarte a calcular el tamaño de un texto en inglés:

  • 1 token equivale aproximadamente a 4 caracteres.

  • 1 token equivale aproximadamente a tres cuartos de una palabra.

  • 100 tokens equivalen aproximadamente a 75 palabras.

Estas son estimaciones, no conteos exactos. La longitud de las oraciones y los párrafos varía, y otros idiomas pueden tener relaciones diferentes entre caracteres, palabras y tokens.

Tener en cuenta los espacios y las mayúsculas

Una palabra puede dividirse en distintos tokens según su ortografía, el uso de mayúsculas y el texto que la rodea.

Por ejemplo, red, Red y red no contienen texto idéntico: el último ejemplo incluye un espacio inicial. Una codificación puede representarlas de forma diferente.

Los identificadores de tokens también dependen de la codificación. No supongas que un identificador de token de ejemplo se aplica a todos los modelos.

Distinguir entre tokens de entrada y salida

CategoríaQué describe
Tokens de entradaTokens suministrados al modelo en una solicitud. También se conocen como tokens de prompt.
Tokens de salidaTokens generados por el modelo. Chat Completions los denomina tokens de finalización.
Tokens de entrada en cachéTokens de entrada reutilizados mediante el almacenamiento en caché de prompts. Su precio puede ser diferente al de los tokens de entrada sin almacenar en caché.
Tokens de razonamientoTokens que un modelo de razonamiento usa internamente antes de producir su respuesta visible.

Los tokens de razonamiento no se muestran como texto de la respuesta, pero cuentan para el uso de salida y se facturan como tokens de salida.

Por lo tanto, una respuesta visible breve puede usar más tokens de lo que su texto mostrado sugiere.

Contar tokens antes de enviar una solicitud

Contar tokens de texto sin formato

Usa el tokenizador para ver cómo se divide el texto en tokens.

Para tokenizar texto sin formato mediante programación, usa tiktoken. Selecciona la codificación del modelo de destino, por ejemplo, con tiktoken.encoding_for_model(model).

El conteo de tokens de texto sin formato no incluye necesariamente todos los tokens de una solicitud a la API. La estructura de los mensajes, las herramientas, los esquemas, las imágenes y los archivos pueden afectar el conteo total de entrada.

Contar una entrada completa de Responses

Para contar una entrada completa de la API de Responses, usa la API de conteo de tokens de entrada.

Acepta los formatos de entrada de Responses, incluidos mensajes, imágenes, archivos, herramientas y conversaciones. El conteo incluye los tokens de formato usados en la estructura de la solicitud, como los roles y los límites de los mensajes.

El conteo de entrada no predice cuántos tokens de salida generará el modelo.

Consultar el uso real de tokens

Después de una solicitud, consulta la información de uso. Los nombres de los campos varían según el punto de acceso:

  • Chat Completions informa prompt_tokens, completion_tokens y total_tokens.

  • Responses informa input_tokens, output_tokens y total_tokens.

También puedes consultar la actividad a lo largo del tiempo en el panel de uso. Para obtener instrucciones, incluido el uso de streaming, consulta Revisar el uso y los costos de la API.

Respetar los límites del modelo

Consulta la documentación de tu modelo para conocer su ventana de contexto y su salida máxima. Estos límites pueden variar entre modelos.

La ventana de contexto limita los tokens que un modelo puede procesar en una solicitud. Los modelos también tienen un límite de salida. En los modelos de razonamiento, reserva espacio tanto para los tokens de razonamiento como para la respuesta visible.

Si la entrada es demasiado grande, puedes:

  • Acortar o reformular el prompt.

  • Eliminar el contexto innecesario o repetido.

  • Dividir las entradas grandes en partes más pequeñas.

  • Resumir o preprocesar el texto antes de enviarlo.

Usa la configuración de tokens de salida compatible con tu punto de acceso y modelo. Chat Completions usa max_completion_tokens; Responses usa max_output_tokens.

Estos límites de tamaño de solicitud son independientes de los límites de frecuencia de la API y de los límites mensuales de uso o gasto. Consulta la documentación del modelo que usas.

Comprender los precios de los tokens

En los precios de la API basados en tokens, la tarifa depende del modelo y de la categoría del token. Los tokens de entrada, entrada en caché y salida pueden tener precios diferentes. Otras funciones de la API pueden usar unidades de facturación diferentes.

Consulta las tarifas actuales en la página de precios de la API.

Al comparar modelos, considera el total de tokens y el costo necesarios para completar tu tarea. Un menor precio por millón de tokens no necesariamente genera un costo total menor: los modelos pueden tokenizar el mismo texto de forma diferente y generar distintas cantidades de salida o razonamiento.

Prueba tareas representativas en lugar de comparar solo la longitud de la respuesta visible.

Tener en cuenta varias finalizaciones

Cuando un punto de acceso y un modelo permiten generar varias finalizaciones, esas finalizaciones adicionales también usan tokens.

En Chat Completions, establecer n en un valor superior a 1 genera varias opciones. Se te cobran los tokens generados en todas esas opciones.

En la API de Completions heredada, best_of puede generar candidatos que no se devuelven en su totalidad. Por ejemplo, best_of = 3 puede generar hasta 3 × max_tokens tokens de finalización entre todos los candidatos.

Estos parámetros son específicos de cada punto de acceso. No supongas que otra API u otro modelo admite n o best_of.

¿Este artículo te fue útil?