Než odešlete řetězec pro embedding, můžete odhadnout, kolik tokenů spotřebuje, pomocí knihovny tokenizéru OpenAI tiktoken.
To je obzvlášť užitečné, protože embedding modely (například text-embedding-3-small) mají maximální limity tokenů, do kterých se musíte vejít.
Jak počítat tokeny pomocí Tiktoken
Pomocí balíčku Pythonu tiktoken můžete vypočítat počet tokenů, které řetězec vygeneruje.
Zde je ukázka kódu:
import tiktoken
def num_tokens_from_string(string: str, encoding_name: str) -> int:
"""Vrací počet tokenů v textovém řetězci."""
encoding = tiktoken.get_encoding(encoding_name)
num_tokens = len(encoding.encode(string))
return num_tokens
# Příklad použití
num_tokens = num_tokens_from_string("tiktoken is great!", "cl100k_base")
print(num_tokens)Důležité:
Pro embedding modely třetí generace (např.
text-embedding-3-smallnebotext-embedding-3-large) byste měli použít kódování"cl100k_base".Různé modely mohou vyžadovat různá kódování — pokud si nejste jistí, vždy se podívejte do dokumentace modelu.
Proč je počítání tokenů důležité
Pokud váš řetězec překročí maximální velikost vstupu modelu, váš požadavek API selže.
Přesné spočítání tokenů předem zajišťuje plynulejší práci s embeddingy a předchází chybám při zpracování.
