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

¿Cómo puedo saber cuántos tokens tendrá una cadena antes de intentar insertarla como embedding?

Calcular/aproximar tokens para un embedding

Última actualización: 2 days ago

Antes de enviar una cadena para generar un embedding, puedes calcular cuántos tokens usará mediante la biblioteca de tokenización tiktoken de OpenAI.

Esto resulta especialmente útil porque los modelos de embeddings (como text-embedding-3-small) tienen límites máximos de tokens que no debes superar.

---

Cómo contar tokens con Tiktoken

Puedes usar el paquete de Python tiktoken para calcular la cantidad de tokens que generará una cadena.

Este es un fragmento de código de ejemplo:

import tiktoken

def num_tokens_from_string(string: str, encoding_name: str) -> int:
"""Returns the number of tokens in a text string."""
encoding = tiktoken.get_encoding(encoding_name)
num_tokens = len(encoding.encode(string))
return num_tokens

# Example usage
num_tokens = num_tokens_from_string("tiktoken is great!", "cl100k_base")
print(num_tokens)

Importante:

  • Para los modelos de embeddings de tercera generación (p. ej., text-embedding-3-small o text-embedding-3-large), debes usar la codificación “cl100k_base”.

  • Cada modelo puede requerir una codificación diferente; si tienes dudas, consulta siempre la documentación del modelo.

---

Por qué es importante contar tokens

  • Si tu cadena supera el tamaño máximo de entrada del modelo, tu solicitud a la API fallará.

  • Contar los tokens con precisión de antemano garantiza flujos de trabajo de embedding más fluidos y evita errores durante el procesamiento.

---

¿Este artículo te fue útil?