Antes de enviar uma string para gerar um embedding, você pode estimar quantos tokens ela vai usar aplicando a biblioteca de tokenização tiktoken da OpenAI.
Isso é especialmente útil porque modelos de embedding (como text-embedding-3-small) têm limites máximos de tokens, e você precisará ficar dentro desses limites.
Como contar tokens com o Tiktoken
Você pode usar o pacote Python tiktoken para calcular quantos tokens uma string vai gerar.
Aqui está um exemplo de trecho de código:
import tiktoken
def num_tokens_from_string(string: str, encoding_name: str) -> int:
"""Retorna o número de tokens em uma string de texto."""
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 modelos de embedding de terceira geração (por exemplo,
text-embedding-3-smalloutext-embedding-3-large), você deve usar a codificação"cl100k_base".Modelos diferentes podem exigir codificações diferentes — em caso de dúvida, consulte sempre a documentação do modelo.
Por que contar tokens é importante
Se sua string exceder o tamanho máximo de entrada do modelo, sua solicitação à API vai falhar.
Contar tokens com precisão com antecedência garante fluxos de trabalho de embedding mais tranquilos e evita erros durante o processamento.
