最近は弊社でもOpenAIのAPIを使用する機会が多くなってきました。
OpenAIのAPIを使用するプログラムを作成する上では、
トークン数を取得する処理が必要になることもあると思いますが、
今回の記事では、開発で使用したtiktokenというライブラリについて書きました。
tiktokenとは
OpenAI公式のBPE Tokenizerです。https://github.com/openai/tiktoken
tiktokenの使い方
Encodingオブジェクトを取得し、対象の文字列をエンコードします。エンコードされた結果のlistの長さがトークン数になります。
gpt-3.5-turboのModelを使用する場合は以下のようになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
import tiktoken text = "GMOアドマーケティング" tiktoken_encoding = tiktoken.encoding_for_model("gpt-3.5-turbo") encoded = tiktoken_encoding.encode(text) token_count = len(encoded) print(encoded) # [38, 10754, 39880, 45923, 68759, 38248, 109, 57933, 57183, 94550] print(token_count) # 10 |
「GMOアドマーケティング」という文字列のトークン数は10ということが分かります。
詳細な使用方法については、
以下のopenai-cookbookが参考になると思います。
https://github.com/openai/openai-cookbook/blob/main/examples/How_to_count_tokens_with_tiktoken.ipynb
まとめ
今回はOpenAIのAPIを使用する際のトークン数を取得する方法について書きました。
今後も弊社での活用事例を紹介できると良いです。