2024/03/18 oxxo 无标签

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

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

1.tiktokenで計算

pip install tiktoken
Bash

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))
Python

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
  }'
Curl

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
  }
}
JSON

oxxo

相关文章