Un recuento exacto de tokens necesita una codificación y un alcance
Dos contadores pueden discrepar sin estar averiados. Comprueba qué codificación usan y qué incluyen antes de comparar sus cifras.
Primero identifica la unidad
Las palabras sirven para leer; los bytes UTF-8 miden una representación del texto. Los tokens dependen de una codificación: no hay una proporción fija válida para todas las palabras o caracteres.
ToolRoof cuenta texto literal con cl100k_base y muestra tokens y bytes. La exactitud se limita a esa codificación, no a todos los modelos. Elegir otro modelo en tu aplicación no cambia este contador.
El texto visible no es toda la solicitud
Una solicitud API puede añadir roles, definiciones de herramientas, archivos y estructura. Contar correctamente un párrafo no equivale a medir todo ese conjunto.
Cerca de un límite, utiliza el recuento de la solicitud o el informe de uso apropiado del proveedor. Un margen fijo no garantiza cubrir lo que falta.
Referencias: OpenAI — Plain-text counts versus complete request token counts
Conserva exactamente lo que mediste
Los espacios, saltos de línea y representaciones de caracteres forman parte del texto. Guarda la versión medida para poder repetir la comparación.
El contador no normaliza Unicode ni sustituye cifras. Acepta hasta 20000 unidades UTF-16, no necesariamente ese número de caracteres visibles o tokens; rechaza texto mal formado en vez de corregirlo silenciosamente.
Ejemplo: aspecto parecido, representación distinta
Con cl100k_base, hello world ocupa 11 bytes UTF-8 y 2 tokens. El tamaño en bytes y el número de tokens son medidas diferentes.
é como U+00E9 produce 1 token y 2 bytes; e seguida de U+0301 se ve parecida, pero produce 2 tokens y 3 bytes. No es una clasificación de idiomas: muestra por qué deben acompañar al resultado el texto exacto y la codificación.