コンテンツセーフティ
設定を何も変えていないのに、リクエストが突然すべて失敗する。そんなときは、コンテンツセーフティのルールによって呼び出しが一時的に停止されている可能性があります。このページでは、何が引き金になるのか、停止はどれくらい続くのか、次に何をすればよいのかを説明します。
コンテンツセーフティ審査とは
OfoxAI 経由で送られたリクエストは、最終的に上流プロバイダー(OpenAI、Anthropic、Google など)が運用するモデルに届きます。各プロバイダーは受け取ったテキスト・画像・ファイルを自社の利用ポリシーに照らして検査し、適合しないものは拒否します。OfoxAI はその上にもう一段のレイヤーを設けています。同じアカウントから拒否されるリクエストが続く場合、そのまま転送し続けるのではなく、そのアカウントの呼び出しを一定時間停止します。
この一時停止が守るのは 2 つです。上流プロバイダーから見たあなたのアカウントの信用と、OfoxAI のすべての利用者が共有する呼び出し経路です。
レート制限とは別物です
| レート制限 | コンテンツセーフティによる一時停止 | |
|---|---|---|
| 原因 | リクエストを送る速さ | リクエストの中身 |
| 見える症状 | 429 Too Many Requests | ポリシー違反と判定されて拒否される |
| 対処 | 速度を落として再試行 | 判定された内容を特定して修正 |
| 継続時間 | 数秒 | 5 分〜12 時間 |
速度のクォータはレート制限、ステータスコード全般はエラーハンドリングを参照してください。
通常の業務でも判定される理由
拒否される内容は 2 種類あります。プロバイダーの利用ポリシーや OfoxAI 利用規約 に実際に違反しているものと、自動分類器が違反だと読み違えたものです。意外に感じるケースのほとんどは後者です。
よくあるパターン:
- 拒否されたリクエストの再試行。スクリプトが 1 回拒否され、同じ内容をさらに 4 回再試行すると、1 件の判定が 5 件になります。下記の最初の閾値に最短で到達する経路です。
- 自分で書いていないテキストの一括処理。クロールしたページ、ユーザーレビュー、サポート履歴、PDF には、誰も目を通していない内容が紛れています。
- エンドユーザーの入力をそのまま渡す。訪問者が入力した内容をそのままモデルに送っていれば、いつかは判定される入力が届きます。
- 長い会話。毎ターン履歴全体がモデルに再送されるため、判定されたメッセージを削除するまで何度もカウントされ続けます。
- 誤検知。人物写真、医療の質問、セキュリティ研究、小説の描写などは読み違えられることがあります。プロバイダーごとに基準も異なり、A のモデルで拒否された素材が B のモデルでは通ることもあります。
1 回の拒否は罰則ではありません。そのリクエストを直せば十分です。短時間に拒否が積み上がったときにだけ、一時停止が始まります。
段階ルールの仕組み
結果を決めるのは 2 点です。短時間にいくつ判定が積み上がったか、そしてそのアカウントが過去に何回停止されたかです。
一時停止が始まる閾値
判定はスライディングウィンドウで数えられ、次のいずれかに達すると一時停止が始まります:
| 集計ウィンドウ | 判定件数 |
|---|---|
| 1 分 | 5 件 |
| 5 分 | 15 件 |
| 30 分 | 30 件 |
一時停止の長さ
再発するたびに段階的に長くなります:
| 停止回数 | 停止時間 |
|---|---|
| 1 回目 | 5 分 |
| 2 回目 | 15 分 |
| 3 回目 | 1 時間 |
| 4 回目 | 4 時間 |
| 5 回目 | 12 時間 |
典型的な流れ:バッチ処理が 1 分以内に 5 件判定されて 5 分停止。データを直さずに再実行し、さらに 5 件判定されて今度は 15 分停止。この連鎖を断つ鍵は、最初の停止中にデータを整理してしまうことです。
停止中、対象のリクエストはモデルに送られる前に OfoxAI 側で拒否されるため、料金も発生しません。時間が経てば自動的に復旧します。誰かに連絡する必要も、特別な操作も要りません。
カウントは一生残るわけではありません。しばらく判定が発生しなければ、次回はまた 1 段階目から始まります。最長段階のあとも判定が続く場合、アカウントは人的レビューに回り、利用規約 に基づいてサービスの制限または停止となることがあります。
別アカウントを作る、新しい API Key を発行するといった方法で一時停止を回避するのは、利用規約上の問題であって解決策ではありません。どうしても待てない場合はサポートにご連絡ください。
対処方法
いま停止されている場合
- まず止める。ジョブを停止し、自動リトライをオフにします。再試行しても停止は早く終わりません。
- 判定されたリクエストを探す。コンソール の ログ(Logs) ページを開き、最初に失敗した前後の時間で絞り込み、拒否されたリクエストを確認します。
- 原因を直す。該当する内容を削除または書き換え、リトライ処理やキューが同じ入力を再送しないことを確認します。
- 時間を待つ。時間が来れば自動的に戻ります。
- 少量から再開する。まず数件送って結果を確認してから、バッチ全体を流します。
再発を防ぐには
- 拒否された入力は、その入力に対する最終回答として扱ってください。記録して、スキップして、次に進みます。ループで再試行しないこと。
- 一般公開の製品では、ユーザー入力をモデルに渡す前にフィルタリングします。
- 取り込んだデータやクロールしたデータは、大規模に流す前に手作業で抜き取り確認します。
- 長い会話では、判定されたターンを履歴から取り除きます。履歴全体を送り続けないでください。
- 業務ごとに API Key を分けておくと、ログでどのジョブが原因かすぐに分かります。
誤検知だと思う場合
分類器は間違えることがあります。support@ofoxai.com 宛に、次の情報を添えてご連絡ください:
- アカウントのメールアドレス
- ブロックされたリクエストの発生時刻(タイムゾーンも)
- 呼び出していたモデル
- ログページのリクエスト ID を 1〜2 件
API Key やパスワード、調査に不要な顧客データは含めないでください。何が判定の原因になったかを確認し、お伝えできる範囲でご説明します。
届くことがあるメール
制限が適用されると、OfoxAI から登録メールアドレス宛に通知が届くことがあります。本物の通知は OfoxAI のアドレス(@ofoxai.com または @ofox.ai)から送信され、どのアカウントか、何がどれくらい制限されるのか、何を確認すべきかが書かれています。
受け取ったら:
- メール内のリンクからではなく、自分でコンソールにログインし、メールに書かれた時間帯の ログ を確認します。
- ジョブを再開する前に内容を直します。メールは状況を知らせるだけで、制限を解除してくれるわけではありません。
- 判定が誤りだと思う場合は、そのメールに返信するか support@ofoxai.com までご連絡ください。
OfoxAI が求めないこと:
- API Key・パスワード・認証コード
- 制限解除のための支払いや「手数料」
- 個人のメールアドレスやチャットアプリへの連絡先変更
これらを求めるメッセージは、差出人が誰であってもフィッシングです。support@ofoxai.com に転送したうえで削除してください。