問題の発生本番環境のボットやスクリプトが突然停止することがあります。ログを確認すると、AIからの回答ではなく、HTTP 402エラーが大量に出力されています。これは、DeepSeek-V3やDeepSeek-R1を利用する際、クレジット残高がプラスである必要があるためです。アカウントの残高がゼロになると、APIへのアクセスが即座に遮断されます。
実際のエラーメッセージ```
{ "error": { "message": "Insufficient Balance", "type": "insufficient_balance", "param": null, "code": "invalid_request_error" } }
## リクエストが失敗する理由DeepSeekは**プリペイド方式(前払い)の課金モデル**を採用しています。月末に請求が来るAWSやGoogle Cloudとは異なり、DeepSeekでは事前にクレジットを購入する必要があります。たとえわずかな残高が残っていたとしても、次のプロンプトの推定コストが残高を上回る場合、APIリクエストは失敗します。
このエラーの主な原因は以下の通りです:
- **大量のトークン消費:** DeepSeek-V3は非常に安価(入力100万トークンあたり約0.14ドル)ですが、トラフィックの多いアプリでは少額の残高はすぐに使い果たされてしまいます。- **トライアルの期限切れ:** 新規アカウントには通常2〜5ドルの無料トライアルクレジットが付与されます。これらは使用の有無にかかわらず、数ヶ月で期限切れになります。- **自動リロード未設定:** 現在、DeepSeekには自動チャージ機能がないため、残高がなくなる前に手動で資金を追加する必要があります。## 迅速な解決策:手動チャージアプリをオンラインに戻すには、開発者アカウントに資金を投入する必要があります。通常、反映には2分もかかりません。
- [DeepSeek Platform](https://platform.deepseek.com/)にサインインします。- サイドバーの**Top up**(チャージ)をクリックします。- 現在の残高を確認します。「$0.00」と表示されていれば、それが原因です。- 入金額を選択します。最低額は通常2.00ドルです。- Stripe、PayPal、またはクレジットカードで支払います。- 60秒ほど待ち、ページを更新して新しい残高が反映されたことを確認します。## より良いコーディング:402エラーの適切な処理課金の問題でアプリケーション全体がクラッシュするのは、ユーザー体験として最悪です。代わりに、402エラーをキャッチしてアラートを飛ばすことで、ユーザーが気づく前に修正できるようにしましょう。
### Pythonの例(OpenAI SDK使用)DeepSeekはOpenAIのPythonライブラリと完全な互換性があります。以下のパターンを使用して、課金特有の問題をキャッチしてください:
import openai from openai import OpenAI
client = OpenAI(api_key="YOUR_DEEPSEEK_API_KEY", base_url="https://api.deepseek.com")
def safe_chat_request(prompt): try: return client.chat.completions.create( model="deepseek-chat", messages=[{"role": "user", "content": prompt}] ) except openai.APIStatusError as e: if e.status_code == 402: # 内部アラートをトリガー(Slack、PagerDuty、メールなど) print("課金アラート: DeepSeekの残高が不足しています!") return "AIサービスは現在メンテナンス中です。5分後に再度お試しください。" raise e except Exception as e: print(f"一般的なエラー: {e}") return None
## 監視と予防DeepSeekにはまだ自動チャージ機能がないため、プロアクティブに対応する必要があります。毎週**Usage**(使用量)ダッシュボードを確認し、消費ペースを把握しましょう。例えばアプリで1日0.50ドル消費する場合、1ヶ月間サービスを中断させないためには、少なくとも15ドルをアカウントに維持しておく必要があります。
## 接続のテストチャージが完了したら、簡単なcURLコマンドで修正を確認します。これにより、アプリケーションコードを介さずにAPIキーが再び有効になったことを確認できます。
curl https://api.deepseek.com/chat/completions
-H "Content-Type: application/json"
-H "Authorization: Bearer $DEEPSEEK_API_KEY"
-d '{
"model": "deepseek-chat",
"messages": [{"role": "user", "content": "test"}]
}'
リクエストが成功すると、テキストレスポンスを含むJSONオブジェクトが返されます。依然として402エラーが表示される場合は、支払いがAPIゲートウェイのキャッシュに反映されるまで5分ほど待ってから再度試してください。

