Read Frog

リクエスト制御とバッチ翻訳

Token Bucket、burst request、LLM バッチ、再試行、個別フォールバック、低クォータ API 向け設定を説明します。

ページ翻訳は 設定 → 翻訳 → リクエスト制御、動画字幕は 設定 → 動画字幕 に独立した設定があります。

既定値

設定既定対象
1 秒あたりの平均リクエスト8その翻訳フローの全 provider
最大 burst リクエスト数60その翻訳フローの全 provider
1 バッチの最大文字数1000LLM のみ
1 バッチの最大段落数4LLM のみ

Token Bucket

バケットは容量分の token が入った状態で始まり、1 リクエストの開始ごとに 1 token を消費します。平均レートに従って継続的に補充され、token があれば期限を迎えたキューを開始できます。

したがって burst 容量は同時実行数の上限ではありません。既定の 60 は、満杯なら最大 60 件をすぐに解放できるという意味です。

小数も有効です。0.25 は 4 秒に 1 token、0.5 は 2 秒に 1 token を補充します。

「毎分リクエスト数」をそのまま毎秒欄に入れないでください。60 で割り、短時間 burst の制限も確認します。

保守的な設定例

API 制限開始値
60 回/分、burst の記載なしrate 1、capacity 1
15 回/分rate 0.25、capacity 1
10 秒に 1 回rate 0.1、capacity 1
高速なローカルモデル8 / 60 から遅延とメモリを観測

429 が出る場合は、まず容量を 1 にし、rate を持続制限まで下げます。バッチは LLM の総リクエスト数を減らしますが、大きすぎる初期 burst を安全にはしません。

LLM バッチの送信条件

バッチは LLM provider だけで使用されます。同じ provider、翻訳元/先、コンテキストの項目がまとまり、次のいずれかで送信されます。

  • 次の項目で文字数上限を超える
  • 段落/字幕数が上限に達する
  • 現在の文字数が上限に達する
  • 100 ms の収集時間が終わる

既定の 1000 文字/4 段落は、節約と構造化出力の安定性のバランスです。大きなバッチは効率的ですが、失敗の影響範囲やモデル上限超過の可能性も増えます。

再試行と個別フォールバック

LLM は各入力に 1 件の訳文を返す必要があります。件数が一致しない場合、Read Frog は最大 3 回再試行し、その後は個別翻訳へフォールバックします。通常のネットワーク失敗はリクエストキューの再試行ポリシーで処理されます。

処理中の重複はまとめられ、成功結果はキャッシュできます。統計ページで元の段落数と実際のバッチ数を比較できます。

統計ページのバッチ節約

厳しい無料枠では capacity 1、rate 0.116001000 文字、24 段落から始めます。構造化出力が不安定なら 500800 文字/2 段落に下げます。ローカルモデルでも大きな burst はサーバーを過負荷にできます。

On this page