APIを利用する際、必ず気をつけなければならないのが「レートリミット」です。この記事では、各種モデルのレートリミット(トークン数やリクエスト回数の制限)について、わかりやすく解説していきます。
1. レートリミットとは?
レートリミットとは、APIを使用する際に、一定期間内に送信できるリクエストや処理できるデータ量の制限のことです。これにより、サーバーの負荷を軽減し、全ユーザーが公平にサービスを利用できるようになります。
具体的には、以下のような制限があります:
- TPM(Tokens Per Minute): 1分あたりに処理できるトークン数
- RPM(Requests Per Minute): 1分あたりに行えるリクエスト回数
- RPD(Requests Per Day): 1日あたりに行えるリクエスト回数
- TPD(Tokens Per Day): 1日あたりに処理できるトークン数
2. 各モデルのレートリミット一覧
※用語解説
TPM(Tokens Per Minute): 1分あたりに処理できるトークン数
RPM(Requests Per Minute): 1分あたりに送信できるリクエスト数
TPD(Tokens Per Day): 1日あたりに処理できるトークン数
RPD(Requests Per Day): 1日あたりに送信できるリクエスト数
3. 各制限の詳細
トークン制限(TPM / TPD)
APIでは、テキストの処理において「トークン」という単位が使われます。トークンは、単語や記号の一部を指し、文章の長さや内容に応じて異なる数のトークンが生成されます。
たとえば、gpt-4o-miniの場合、1分間に200,000トークン、1日で2,000,000トークンまで処理することが可能です。これは大量のテキストを高速に処理する場合に非常に重要な制限となります。
リクエスト制限(RPM / RPD)
リクエスト制限は、1分あたりや1日あたりに送信できるAPIリクエストの数を指します。gpt-3.5-turboでは、1分あたり500回のリクエスト、1日あたり10,000回のリクエストが上限です。
リクエスト回数が多い場合、例えばチャットボットのようなリアルタイムAPI利用において、この制限を意識する必要があります。
Batch Queue Limits(バッチ処理の制限)
バッチ処理における制限は、リクエストが待機できる数や、同時に処理できるリクエスト数を指します。バッチ処理では、一度に多くのリクエストを処理するため、APIの負荷に影響します。
4. モデル別の活用ポイント
5. レートリミットに引っかかった場合の対処法
もしレートリミットを超過してしまった場合、以下のような対処が考えられます:
リクエスト頻度の調整:
1分あたりのリクエスト数を減らし、制限に引っかからないようにスロットリングを行います。
トークン数の管理:
大量のトークンを送る場合、1つのリクエストで処理する量を減らすか、複数回に分けることでトークン制限を回避できます。
事前キャッシュの活用:
過去のリクエスト結果をキャッシュし、同じデータを何度もリクエストしないようにすることができます。
6. まとめ
APIのレートリミットは、サービスをスムーズに利用するために重要な概念です。各モデルによって制限は異なるため、適切にレートリミットを把握し、超過しないように利用計画を立てましょう。