重點摘要
- Token 是語言模型的基本建構單元,代表單詞或標點符號的片段。
- Token 計數直接影響 AI 模型的成本以及您可以處理的文字長度。
- Python 提供了強大的工具,例如 Tiktoken 函式庫,可進行有效的 Token 化與計數。
- 優化您的輸入文字與提示詞,有助於減少 Token 用量並降低成本。
- Novita AI 以其透明的定價與高效的 Token 處理方式脫穎而出。
在人工智慧(AI)與自然語言處理(NLP)領域,理解「Token」非常重要。Token 是 AI 模型處理的文字基本單元。本篇部落格將示範如何在 Python 中取得 Token 計數。學會這項技能可以幫助您節省成本,並讓您的 AI 應用程式執行得更有效率。
目錄
- 了解 Tokenization
- Token 計數對成本優化的重要性
- 如何在 Python 中取得 Token 計數(逐步指南)
- 減少 AI 成本的 Token 優化策略
- 若無法減少 Token 用量,請選擇更便宜的 API
- 一個絕佳選擇:Novita AI
- 結論
了解 Tokenization

Tokenization 的抽象表示
您是否曾經想過 AI 模型是如何理解人類語言的?答案是 Tokenization。Tokenization 是指將文字分解成更小的部分,稱為 Token。這些 Token 可以是一個字元或一個完整的單詞。Python 是 AI 中常用的語言,它提供了許多工具與函式庫,方便進行 Tokenization。
Tokenization 的基礎
Tokenization 是將文字字串分解成較小的部分(即 Token)的過程。這些 Token 是語言模型理解與生成文字的基礎單元。
請記住,Tokenization 不僅僅是按空格拆分單詞,它還會將標點符號、特殊符號,甚至單詞的一部分視為單獨的 Token。Tokenization 的方式會根據語言模型和所使用的 Tokenizer 而有所不同。
Tokenization 範例
要視覺化文字如何被 Token 化,您可以使用 Tokenizer 工具。例如,句子「Natural-language processing is key.」會被 Token 化為:['Natural', '-', 'language', ' processing', ' is', ' key', '.']。這個分解過程對於理解您的輸入如何轉換為 Token 計數至關重要。
使用 Python 的 Tiktoken 函式庫,您可以快速將文字字串分解為 Token。例如,使用 tokenize 函式,您可以從任何文字字串建立一個 Token 列表。這個方法對於許多不同的任務(如生成式 AI 和 NLP)都非常有用。透過理解 Token 的概念並使用 NLTK 等函式庫,您可以妥善管理 Token 化過程,有助於節省成本。
Token 計數對成本優化的重要性

分析 Token 計數以進行優化
- 直接影響 API 成本: 輸入與輸出的 Token 數量會直接影響使用 AI 模型時的費用。Token 越多,成本越高,因此管理 Token 用量對於優化支出至關重要。
- 模型限制: 每個模型都有 Token 限制(例如 GPT-3.5 的限制可能是 4,096 個 Token)。追蹤 Token 計數可確保輸入不超過此限制,避免錯誤以及因回應過長而產生的不必要成本。
- 有效利用資源: 透過了解 Tokenization,您可以撰寫更簡潔的提示詞,並管理所要處理的文字量,確保不會浪費 Token 在不相關的資訊上,從而更有效地使用資源。
- 控制輸出長度: 透過控制模型輸出中所要求的 Token 數量(例如透過
max_tokens參數),您可以限制回應大小,使成本可預測且受控。 - **批次處理:**Token 計數有助於將大型資料集分割成較小、可管理的批次。這樣可以避免在個別 API 呼叫中超出 Token 限制,同時優化成本與效能。
當您的 Token 計數越高,成本也會隨之增加。因此,找到更有效使用 Token 的方法不僅是技術問題,也與節省成本有關。
如何在 Python 中取得 Token 計數(逐步指南)
在 Python 中計算 Token 很簡單。
步驟 1:用於 Tokenization 的工具與函式庫
Python 有許多工具與函式庫可簡化自然語言處理任務中的 Tokenization。一個廣為人知的選擇是 Natural Language Toolkit(NLTK)。該函式庫提供了多種 Tokenizer 以滿足不同需求,例如 NLTK 的單詞 Tokenizer 可將文字分解為單個單詞。
另一個絕佳選擇是 OpenAI 的 Tiktoken 函式庫。Tiktoken 是專為 OpenAI 模型(包括 GPT-3 和 GPT-4)設計的高速 Tokenizer。它使用了高效的 Byte Pair Encoding(BPE)演算法,因此對這些模型非常有效。
使用 Python 的套件管理器 pip 即可輕鬆安裝這些函式庫。例如,要安裝 Tiktoken,只需輸入指令 pip install tiktoken。
步驟 2:在 Python 程式碼中實作 Token 計數
將 Token 計數整合到您的 Python 專案中很簡單。首先,您需要匯入一個函式庫,例如 Tiktoken:import tiktoken。然後,為您的 OpenAI 專案載入正確的編碼模型。例如,如果您使用的是 GPT-3.5-turbo,請輸入:encoding = tiktoken.encoding_for_model("gpt-3.5-turbo")。
若要計算文字中的 Token,請使用編碼物件的 encode 方法。例如:tokens = encoding.encode("您的文字字串")。然後,透過檢查 tokens 列表的長度來取得 Token 數量:token_count = len(tokens)。
請務必將 "您的文字字串" 替換為實際文字。透過加入這段簡單的程式碼,您可以輕鬆監控並改善 Python AI 應用程式中的 Token 用量。
為方便起見,您可以直接複製以下程式碼:
import tiktoken
# 選擇編碼模型(例如 "gpt-3.5-turbo")
encoding = tiktoken.get_encoding("gpt-3.5-turbo")
# 輸入文字
text = "This is a sample sentence to count tokens."
# 計算 Token
tokens = encoding.encode(text)
token_count = len(tokens)
print(f"Token 計數: {token_count}")
減少 AI 成本的 Token 優化策略
優化 Token 用量對於節省 AI 開發成本非常重要。您可以採取以下方法:
- 簡化輸入文字: 一個優化 Token 的好方法是讓輸入文字更簡潔。通常文字中包含多餘的細節、重複或難以理解的片語,這些都會增加 Token 計數,但對實際幫助不大。此外,請考慮是否可以用更少的元資料或冗長描述來表達相同的資訊。請記住,簡短清晰的文字不僅能降低 Token 計數,通常還能提升與 AI 模型的溝通效果,從而獲得更準確、更有用的輸出。
- 優化提示詞設計: 您為生成式 AI 模型設計提示詞的方式確實重要。良好的提示詞可以帶來更好的回應,並有助於使用更少的 Token。在提示詞中使用簡單的語言,確保沒有混淆。或者嘗試不同的提示詞結構,找出傳達想法的最佳方法。請記住,精心設計的提示詞能幫助模型更好地運作,減少不必要的冗長回應,從而降低 Token 計數。
- **使用更高效的 Tokenization:**Tokenizer 的選擇及其編碼方式會大大影響您的 Token 用量。務必檢視不同的 Tokenizer 選項,並測試其設定以減少 Token 計數。例如,如果您主要使用 OpenAI 的 GPT 模型,最好使用其專屬的 Tokenizer——Tiktoken。Tiktoken 使用 Byte Pair Encoding(BPE),專為這些模型設計,因此在 Tokenization 上通常比更通用的選項更有效率。
若無法減少 Token 用量,請選擇更便宜的 API
當您嘗試了所有優化方法,但您的 AI 應用程式仍然需要太多 Token 時,就該尋找更符合預算的 API 選項了。
如何找到更實惠的 API
為您的 AI 需求找到低成本的 API 需要仔細研究。
步驟 1:查看不同提供者的 API 文件:
檢查他們的定價方式,了解 Token 用量如何影響您的總成本。透過比較 輸入與輸出 Token 成本,您可以有效評估 API 的成本效益。
***輸入成本:***每百萬 Token 的提示詞成本。
***輸出成本:***每百萬 Token 的完成成本。

透過比較 輸入與輸出 Token 成本,您可以有效評估 API 的成本效益。
步驟 2:比較其他細節與定價,找出最佳方案:
您可以透過評估模型的 最大輸出、延遲與吞吐量 來評估其效能。
***最大輸出:***此端點最多可生成 4,096 個 Token。
***延遲:***提供者發送第一個 Token 的平均時間。
***吞吐量:***串流請求中每秒傳輸的平均 Token 數。

最大輸出、延遲、吞吐量的比較
步驟 3:不要害怕嘗試某些提供者的免費試用:
這樣一來,您可以在選擇付費方案之前,先測試 API 的運作情況以及是否符合專案需求。
指南
步驟 1:登入並存取模型庫
登入您的帳戶,然後點選 Model Library 按鈕。

步驟 2:選擇您的模型
瀏覽可用的選項,選擇符合您需求的模型。

步驟 3:開始免費試用
開始免費試用,探索所選模型的功能。

步驟 4:取得您的 API 金鑰
為了驗證 API,我們將為您提供一個新的 API 金鑰。進入「Settings」頁面,您可以依照圖片所示複製 API 金鑰。

步驟 5:安裝 API
使用您程式語言專屬的套件管理器安裝 API。

安裝完成後,在您的開發環境中匯入必要的函式庫。使用您的 API 金鑰初始化 API,開始與 Novita AI LLM 互動。以下是使用 chat completions API 的 Python 範例。
from openai import OpenAI
client = OpenAI(
base_url="https://api.novita.ai/v3/openai",
# 取得 Novita AI API 金鑰,請參考:https://novita.ai/docs/get-started/quickstart.html#_2-manage-api-key。
api_key="<YOUR Novita AI API Key>",
)
model = "meta-llama/llama-3.3-70b-instruct"
stream = True # 或 False
max_tokens = 512
chat_completion_res = client.chat.completions.create(
model=model,
messages=[
{
"role": "system",
"content": "Act like you are a helpful assistant.",
},
{
"role": "user",
"content": "Hi there!",
}
],
stream=stream,
max_tokens=max_tokens,
)
if stream:
for chunk in chat_completion_res:
print(chunk.choices[0].delta.content or "")
else:
print(chat_completion_res.choices[0].message.content)
註冊後,Novita AI 將提供 $0.5 的額度讓您開始使用!
如果免費額度用完,您可以付費繼續使用。
一個絕佳選擇:Novita AI
Novita AI 是一款高效能的 LLM API 模型,以其強大的吞吐量、成本效益與可靠性脫穎而出。其吞吐量超越市場平均水準,保證 99.9% 的 API 穩定性,並提供極具競爭力的定價($0.25-$0.35)。

結論
了解如何在 Python 中取得 Token 計數,對於節省 AI 專案的成本非常重要。透過管理 Token 用量,您可以降低成本並改善應用程式的效能。您可以應用簡化輸入文字、優化提示詞設計以及選擇實惠的 API(如 Novita AI)等方法,這些選擇能對專案預算產生重大影響。隨時關注用於 Tokenization 的工具與函式庫,並按照指南在 Python 中準確計算 Token。藉由使用這些技巧,您可以更輕鬆地進行 AI 工作,並為您的專案節省成本。
常見問題
Python 中有多少個 Token?
在 AI 與 NLP 領域,您並非直接計算 Python 中的 Token,而是計算 Python 程式碼所處理的文字字串中的 Token。文字字串中的 Token 數量取決於文字的長度以及所使用的 Tokenizer 類型。
Token 計數如何幫助成本優化?
許多 AI API 會根據它們處理的 Token 數量來收費。透過追蹤您使用的 Token 並嘗試明智地使用它們,您可以管理並降低 AI 成本。
如何計算 Token?
您可以使用 Python 函式庫(例如 Tiktoken 或 NLTK)來計算 Token。這些函式庫可幫助您將文字分割成 Token,從而輕鬆地透過簡單的程式碼得知其數量。
Novita AI 是一站式雲端平台,助力您的 AI 雄心。整合 API、無伺服器、GPU 實例——您所需的成本效益工具。消除基礎設施,免費開始,實現您的 AI 願景。
推薦閱讀
1./what-is-llama-3-3-70b/
2.How Usage Tier 2 Affects OpenAI Tokens and Limits: Your Fit
