OpenAI
Tato stránka byla přeložena strojově. Zobrazit původní článek v angličtině.

Jak zjistím, kolik tokenů bude mít řetězec, než se ho pokusím vložit jako embedding?

Výpočet/odhad tokenů pro embedding

Aktualizováno: 13 days ago

Před odesláním řetězce pro embedding můžete odhadnout, kolik tokenů použije, pomocí knihovny tokenizeru tiktoken od OpenAI.

To je obzvlášť užitečné, protože embeddingové 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

K výpočtu počtu tokenů, které řetězec vygeneruje, můžete použít balíček Pythonu tiktoken.

Zde je ukázkový úryvek 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 embeddingové modely třetí generace (např. text-embedding-3-small nebo text-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 nahlédněte do dokumentace modelu.

---

Proč na počítání tokenů záleží

  • Pokud váš řetězec překročí maximální velikost vstupu modelu, váš požadavek API selže.

  • Přesné počítání tokenů předem zajišťuje plynulejší pracovní postupy s embeddingy a předchází chybám při zpracování.

---

Byl tento článek užitečný?