AI 與科技名詞白話解釋

如何用 Python 計算 Token 數?

安裝 OpenAI 官方的 tiktoken 套件,用 tiktoken.get_encoding() 或 tiktoken.encoding_for_model() 取得編碼器,再用 encode() 把文字轉成 Token 清單,len() 算出的長度就是 Token 數。

需要準備什麼?

步驟

  1. 安裝 tiktoken

    用 pip 安裝官方套件。

    pip install tiktoken
  2. 取得編碼器

    可直接指定編碼名稱,例如 o200k_base;或依模型名稱自動取得對應編碼,gpt-4o 對應 o200k_base。

    import tiktoken
    
    enc = tiktoken.get_encoding("o200k_base")
    # 或依模型名稱取得
    enc = tiktoken.encoding_for_model("gpt-4o")
  3. 編碼並計算數量

    encode() 回傳 Token ID 清單,取長度即為 Token 數。

    tokens = enc.encode("用白話解釋 AI 名詞")
    print(len(tokens))
  4. 包成可重複使用的函式

    參考 OpenAI Cookbook 的寫法,傳入文字與編碼名稱即可取得 Token 數。

    def num_tokens_from_string(string: str, encoding_name: str) -> int:
        encoding = tiktoken.get_encoding(encoding_name)
        return len(encoding.encode(string))
    
    print(num_tokens_from_string("hello world", "o200k_base"))
  5. 確認可正確還原

    encode 與 decode 可互相還原,可用來檢查結果。

    assert enc.decode(enc.encode("hello world")) == "hello world"

常見錯誤

常見問題

中文字一個字等於一個 Token 嗎?

不一定。Token 是分詞器切出的單位,一個中文字可能是一個或多個 Token,常用詞也可能合併,實際數量要用對應模型的編碼器計算。

tiktoken 能計算 Claude 模型的 Token 數嗎?

不能準確計算。tiktoken 是為 OpenAI 模型設計的分詞器,其他廠商模型使用不同分詞方式,應使用該廠商提供的 Token 計算工具或 API。

相關名詞

詞元、上下文視窗、大型語言模型

參考來源

查核日期:2026-09-26。API:/api/howto?id=count-tokens-tiktoken