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 incrustarla?

Calcular/aproximar tokens para una incrustación

Actualización: 4 days ago

Antes de enviar una cadena para embeddings, puedes estimar cuántos tokens usará aplicando la biblioteca de tokenización tiktoken de OpenAI.

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

---

Cómo contar tokens con Tiktoken

Puedes usar el paquete de Python tiktoken para calcular el número de tokens que generará una cadena.

Aquí tienes un fragmento de código de ejemplo:

import tiktoken

def num_tokens_from_string(string: str, encoding_name: str) -> int:
"""Devuelve el número de tokens de una cadena de texto."""
encoding = tiktoken.get_encoding(encoding_name)
num_tokens = len(encoding.encode(string))
return num_tokens

# Ejemplo de uso
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".

  • Distintos modelos pueden requerir codificaciones diferentes; si tienes dudas, consulta siempre la documentación del modelo.

---

Por qué importa el recuento de tokens

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

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

---

¿Te ha resultado útil este artículo?