cal_tokens.py 522 B

123456789101112131415161718
  1. import tiktoken
  2. def num_tokens(text: str, model: str = "qwen3-embedding") -> int:
  3. """
  4. 计算不同模型的 token 数
  5. - GPT 系列:用 encoding_for_model
  6. - Qwen 系列:默认用 cl100k_base
  7. """
  8. try:
  9. if model.lower().startswith("qwen"):
  10. encoding = tiktoken.get_encoding("cl100k_base")
  11. else:
  12. encoding = tiktoken.encoding_for_model(model)
  13. except KeyError:
  14. encoding = tiktoken.get_encoding("cl100k_base")
  15. return len(encoding.encode(text))