Mielőtt elküldene egy karakterláncot beágyazásra, megbecsülheti, hány tokent fog használni az OpenAI tiktoken tokenizáló könyvtárával.
Ez különösen hasznos, mert a beágyazási modelleknek (például a text-embedding-3-small modellnek) maximális tokenkorlátjuk van, amelyen belül kell maradnia.
---
Tokenek számlálása a Tiktokennel
A tiktoken Python-csomaggal kiszámíthatja, hány tokent generál egy karakterlánc.
Í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 beágyazási modellekhez (pl.
text-embedding-3-smallvagytext-embedding-3-large) a"cl100k_base"kódolást érdemes használnia.A különböző modellek eltérő kódolásokat igényelhetnek — ha bizonytalan, mindig nézze meg a modell dokumentációját.
---
Miért fontos a tokenek számlálása
Ha a karakterlánc meghaladja a modell maximális bemeneti méretét, az API-kérése sikertelen lesz.
A tokenek előzetes pontos számlálása gördülékenyebb beágyazási munkafolyamatokat biztosít, és megelőzi a feldolgozás közbeni hibákat.
---
