mirror of
https://github.com/langgenius/dify-docs.git
synced 2026-07-24 13:06:33 -04:00
62 lines
4.2 KiB
Plaintext
62 lines
4.2 KiB
Plaintext
---
|
||
title: エラーとレート制限の処理
|
||
sidebarTitle: エラーとレート制限
|
||
description: エラーレスポンスの共通構造、ステータスクラスごとの意味、再試行に値する失敗の見分け方
|
||
---
|
||
|
||
> このドキュメントは AI によって自動翻訳されています。不正確な部分がある場合は、[英語版](/en/api-reference/guides/errors) を参照してください。
|
||
|
||
記載されているエラーは、いずれも同じ 3 フィールドの JSON 構造で返ります。
|
||
|
||
```json
|
||
{
|
||
"code": "invalid_param",
|
||
"message": "user is required",
|
||
"status": 400
|
||
}
|
||
```
|
||
|
||
`status` は HTTP ステータスと同じ値です。`code` は分岐処理に使える安定した識別子で、`message` は人間が読むための詳細です。各エンドポイントページには、返る可能性のある `code` がすべて記載されています。
|
||
|
||
## ステータスクラスの概要
|
||
|
||
| ステータス | 意味 | 主な `code` |
|
||
|:-----------|:-----|:------------|
|
||
| 400 | リクエストまたはアプリの設定が無効 | `invalid_param`、`bad_request`、`app_unavailable`、プロバイダーエラー(後述) |
|
||
| 401 | API キーの欠落または無効 | `unauthorized` |
|
||
| 403 | このキーでは実行できない操作(アクセス制限またはプラン制限) | `forbidden` |
|
||
| 404 | リソースが存在しないか、このキーまたは `user` からは見えない | `not_found` |
|
||
| 413 / 415 | ファイルが大きすぎるか、サポート外のタイプ | `file_too_large`、`unsupported_file_type` |
|
||
| 429 | 現在のリクエストが多すぎるか、クォータを使い切った | `too_many_requests`、`rate_limit_error` |
|
||
| 500 | Dify 側での失敗 | `internal_server_error` |
|
||
|
||
## プロバイダーエラーは設定の問題
|
||
|
||
よくある 4 つの 400 `code` は、リクエストではなくアプリのモデル設定の問題を示します。
|
||
|
||
- `provider_not_initialize`:有効なモデル認証情報がない
|
||
- `provider_quota_exceeded`:モデルプロバイダー側のクォータを使い切った
|
||
- `model_currently_not_support`:モデルが現在サポートされていない
|
||
- `completion_request_error`:テキスト生成リクエストの実行中にエラーが発生した
|
||
|
||
これらのエラーは再試行しても解決しません。Dify でアプリのモデル設定を修正してください。
|
||
|
||
## レート制限とクォータ
|
||
|
||
2 つの 429 `code` は意味が異なります。
|
||
|
||
- `too_many_requests` は同時実行数の上限です。このアプリへの同時リクエストが今は多すぎる状態です。バックオフして再試行してください。
|
||
- `rate_limit_error` は Dify Cloud のプランクォータです(ワークフロー実行回数など)。再試行では解消されず、クォータ期間のリセットかプラン変更で解消します。
|
||
|
||
Dify Cloud では、ナレッジ系の書き込みエンドポイントもプラン制限を `403` レスポンスとして返します。`code` はアクセス制限と同じ `forbidden` のため、プラン制限かどうかは `message` でしか判別できません。403 の処理を `code` だけで分岐させないでください。
|
||
|
||
## ストリーム内のエラー
|
||
|
||
ストリームが開いた時点で、HTTP ステータスはすでに `200` です。失敗は `error` イベントとして届き、ストリームを終了させます。イベントの `code` の値はこのページに記載のものと同じで、同じルールで分類できます。詳細は [ストリーミングレスポンスの処理](/ja/api-reference/guides/streaming) を参照してください。
|
||
|
||
## 再試行の判断
|
||
|
||
- **バックオフして再試行**:`too_many_requests`、`500`、ネットワーク障害。
|
||
- **そのまま再試行しない**:バリデーションエラー(まずリクエストを修正)、認可の失敗、クォータエラー(クォータがリセットされるまで解消しない)。
|
||
- **再試行ではなく修正**:再開呼び出しの `404` は、`user` の誤りか実行が存在しないことを意味します。再試行せず、識別子を修正してください。
|