Mielőtt egy karakterláncot embeddinghez küldene, megbecsülheti, hány tokent fog használni az OpenAI tiktoken tokenizáló könyvtárának alkalmazásával.
Ez különösen hasznos, mert az embedding modelleknek (például a text-embedding-3-small) maximális tokenkorlátjuk van, amelyen belül kell maradnia.
Tokenek számolása Tiktokennel
A karakterlánc által generált tokenek számának kiszámításához használhatja a tiktoken Python-csomagot.
Íme egy mintakódrészlet:
import tiktoken
def num_tokens_from_string(string: str, encoding_name: str) -> int:
"""Visszaadja a tokenek számát egy szöveges karakterláncban."""
encoding = tiktoken.get_encoding(encoding_name)
num_tokens = len(encoding.encode(string))
return num_tokens
# Példahasználat
num_tokens = num_tokens_from_string("tiktoken is great!", "cl100k_base")
print(num_tokens)Fontos:
A harmadik generációs embedding modellekhez (pl.
text-embedding-3-smallvagytext-embedding-3-large) a"cl100k_base"kódolást kell használnia.A különböző modellek eltérő kódolást igényelhetnek — ha nem biztos benne, mindig nézze meg a modell dokumentációját.
Miért fontos a tokenek számolása?
Ha a karakterlánc túllépi a modell maximális bemeneti méretét, az API-kérés sikertelen lesz.
A tokenek pontos, előzetes megszámlálása gördülékenyebb embedding munkafolyamatokat biztosít, és megelőzi a feldolgozás közbeni hibákat.
