Antes de enviar uma cadeia de caracteres para incorporação, pode estimar quantos tokens serão utilizados recorrendo à biblioteca de tokenização tiktoken da OpenAI.
Isto é especialmente útil porque os modelos de incorporação (como o text-embedding-3-small) têm limites máximos de tokens que não poderá ultrapassar.
---
Como contar tokens com o Tiktoken
Pode usar o pacote Python tiktoken para calcular o número de tokens que uma cadeia de caracteres irá gerar.
Segue-se um exemplo de fragmento de código:
import tiktoken
def num_tokens_from_string(string: str, encoding_name: str) -> int:
"""Devolve o número de tokens numa string de texto."""
encoding = tiktoken.get_encoding(encoding_name)
num_tokens = len(encoding.encode(string))
return num_tokens
# Exemplo de utilização
num_tokens = num_tokens_from_string("tiktoken is great!", "cl100k_base")
print(num_tokens)Importante:
Para modelos de incorporação de terceira geração (por exemplo, text-embedding-3-small ou text-embedding-3-large), deve utilizar a codificação "cl100k_base".
Modelos diferentes podem exigir codificações diferentes — em caso de dúvida, consulte sempre a documentação do modelo.
---
Porque é importante contar tokens
Se a sua cadeia de caracteres exceder o tamanho máximo de entrada do modelo, o seu pedido à API irá falhar.
Contar tokens com precisão antecipadamente garante fluxos de trabalho de embeddings mais fluidos e evita erros durante o processamento.
---
