Back to Blog

OpenAIで消費されるトークン数を計算する方法

OpenAI

2024/03/18

下記の三つ方法を紹介します。

1.tiktokenで計算

pip install tiktoken

python3.8以上のバージョンが必要になる。

コード


import tiktoken

chat = "こんにちは。私の名前はMETAG太郎です。METAGに所属している架空の社員です。"

encoding_2 = tiktoken.encoding_for_model("gpt2")
encoding_35 = tiktoken.encoding_for_model("gpt-3.5-turbo-0301")
encoding_4 = tiktoken.encoding_for_model("gpt-4-0314")
encoding_d2 = tiktoken.encoding_for_model("text-davinci-002")

def calc_token_tiktoken(chat, encoding_name):
    encoding = tiktoken.get_encoding(encoding_name)
    num_tokens = len(encoding.encode(chat))
    return num_tokens

print("tiktokenで計測したGPT2のトークン数 :", calc_token_tiktoken(chat, encoding_2.name))
print("tiktokenで計測したGPT3.5のトークン数:", calc_token_tiktoken(chat, encoding_35.name))
print("tiktokenで計測したGPT4のトークン数 :", calc_token_tiktoken(chat, encoding_4.name))
print("tiktokenで計測したtext-davinchi002のトークン数", calc_token_tiktoken(chat, encoding_d2.name))

2.OpenAIが提供されているWeb版の計算ツール
https://platform.openai.com/tokenizer

3.OpenAI の API で使用したトークン数
API の概要:Create completion
Request


curl https://api.openai.com/v1/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-3.5-turbo-instruct",
"prompt": "Say this is a test",
"max_tokens": 7,
"temperature": 0
}'

Response

{
"id": "cmpl-uqkvlQyYK7bGYrRHQ0eXlWi7",
"object": "text_completion",
"created": 1589478378,
"model": "gpt-3.5-turbo-instruct",
"system_fingerprint": "fp_44709d6fcb",
"choices": [
{
"text": "\n\nThis is indeed a test",
"index": 0,
"logprobs": null,
"finish_reason": "length"
}
],
"usage": {
"prompt_tokens": 5,
"completion_tokens": 7,
"total_tokens": 12
}
}

Related Posts