トークン
とーくん
一言で言うと
AIがテキストを処理するときの最小単位。文章を小さな「かけら」に分割したもので、API利用料金の計算にも使われる。
もう少し詳しく
一言で言うと
AIがテキストを処理するときの最小単位。文章を小さな「かけら」に分割したもので、API利用料金の計算にも使われる。
もう少し詳しく
トークンは、AIが文章を理解するときに分割する最小単位です。レゴブロックに例えると、文章という完成品を小さなブロック(トークン)に分解して処理するイメージです。
英語の場合、おおよそ1単語が1トークンです("Hello"→1トークン)。日本語はもう少し細かく分割され、1文字が1〜2トークンになることが多いです。たとえば「プログラミング」は6トークンに分割されます(GPT-4など cl100k_base エンコーダを使用した場合)。
トークン数が重要な理由は2つあります:
1. 入出力の制限: AIには一度に処理できるトークン数の上限(コンテキストウィンドウ)があります
2. 料金: API利用時は、入力・出力のトークン数に応じて料金が発生します
実務でどう使うか
コードで見てみよう
# トークン数を確認する例(OpenAI tiktoken)
import tiktokenencoder = tiktoken.encoding_for_model("gpt-4")
# 英語のトークン化
text_en = "Hello, how are you?"
tokens_en = encoder.encode(text_en)
print(f"英語: {len(tokens_en)}トークン") # → 6トークン
# 日本語のトークン化
text_ja = "プログラミングを学ぼう"
tokens_ja = encoder.encode(text_ja)
print(f"日本語: {len(tokens_ja)}トークン") # → 約10トークン
# → 日本語は英語より多くのトークンを消費する