> ## Documentation Index
> Fetch the complete documentation index at: https://docs.responsibleailabs.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 評価

> POST /railscore/v1/eval - 8 つの RAIL 次元にわたって AI コンテンツをスコアリングします。

<Info>
  **コンセプト:** [評価](/concepts/evaluation) | **Python:** [`client.eval()`](/sdk/python/evaluation)
</Info>

## パラメータ

<ParamField body="content" type="string" required>
  評価する AI 生成テキスト。10〜10,000 文字である必要があります。
</ParamField>

<ParamField body="mode" type="string" default="basic">
  評価モード:

  * `"basic"` — RAIL のコアスコアリングモデル。高速で、リアルタイムスコアリング向け。
  * `"deep"` — より深く詳細な分析。次元ごとの説明や問題タグも返すことができます。
  * `"auto"` — `basic` を実行し、実際の問題が検出された場合 (低スコア、低信頼度の次元、またはフラグされたシグナル) のみ自動的に `deep` にエスカレートします。クリーンなコンテンツは高速で安く、精査が必要なコンテンツは自動的に深い分析を受けます。レスポンスの `result` には `resolved_mode` (`"basic"` または `"deep"` — 実際に実行されたティア) と `escalated` (ブール値) が含まれます。課金は実行されたティアに基づきます。
</ParamField>

<ParamField body="dimensions" type="string[]">
  スコアリングする次元のサブセット。8 つすべてをスコアリングするには省略します。選択肢: `fairness`, `safety`, `reliability`, `transparency`, `privacy`, `accountability`, `inclusivity`, `user_impact`。
</ParamField>

<ParamField body="weights" type="object">
  カスタムの次元の重み。値の合計は 100 である必要があります。例: `{"safety": 25, "reliability": 20, ...}`。
</ParamField>

<ParamField body="domain" type="string">
  ドメインコンテキストのヒント: `"general"`, `"healthcare"`, `"legal"`, `"finance"`, `"code"`。スコアリングの精度を向上させます。
</ParamField>

<ParamField body="include_explanations" type="boolean" default="false">
  次元ごとの説明を含める (deep モードのみ)。
</ParamField>

<ParamField body="include_issues" type="boolean" default="false">
  次元ごとに検出された問題タグを含める (deep モードのみ)。
</ParamField>

<ParamField body="include_suggestions" type="boolean" default="false">
  次元ごとの改善提案を含める (deep モードのみ)。
</ParamField>

## リクエスト

```bash theme={null}
curl -X POST https://api.responsibleailabs.ai/railscore/v1/eval \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_RAIL_API_KEY" \
  -d '{
    "content": "To reset your password, open Settings, choose Security, and select Reset password. We will email you a secure link that expires in 30 minutes.",
    "mode": "basic"
  }'
```

## レスポンス

```json theme={null}
{
  "result": {
    "rail_score": { "score": 7.6, "confidence": 0.51, "summary": "RAIL Score: 7.6/10 — Good" },
    "dimension_scores": {
      "fairness":       { "score": 7.7, "confidence": 0.84 },
      "safety":         { "score": 10.0, "confidence": 0.70 },
      "reliability":    { "score": 7.7, "confidence": 0.16 },
      "transparency":   { "score": 6.5, "confidence": 0.50 },
      "privacy":        { "score": 8.0, "confidence": 0.59 },
      "accountability": { "score": 6.6, "confidence": 0.97 },
      "inclusivity":    { "score": 6.6, "confidence": 0.74 },
      "user_impact":    { "score": 7.8, "confidence": 0.09 }
    },
    "from_cache": false
  },
  "policy_outcome": {
    "enforced": false,
    "enforcement": "block",
    "threshold": 7.0,
    "score": 7.6,
    "passed": true
  },
  "metadata": { "req_id": "abc123", "mode": "basic", "timestamp": "2026-03-31T10:00:00Z" },
  "credits_consumed": 1.0
}
```

<ResponseField name="policy_outcome" type="object">
  アプリケーションの[ポリシー](/concepts/policy-engine)がこの結果をどう判断したか。

  * `enforcement` — ポリシーのモード (`log_only`、`block`、または `regenerate`)。
  * `threshold` — 合格に必要な全体スコア。
  * `score` — この結果の全体スコア。
  * `passed` — スコアがしきい値を満たしたかどうか。
  * `enforced` — 結果に基づいて実際に処理が行われたかどうか。`false` の場合、ポリシーはモニターモードです。判定は報告されますがレスポンスは変更されないため、何が*ブロックされうるか*を確認できます。現在の状態は [`GET /config`](/api-reference/config) で確認してください。

  エンフォースメントが有効で結果が不合格の場合、`block` ポリシーは `422 POLICY_BLOCKED` を返し、`regenerate` ポリシーはフォールバックを適用する前に安全な書き換えを試みます。
</ResponseField>

<ResponseField name="result.rail_score.score" type="number">
  全体の RAIL スコア (0.0〜10.0)。評価されたすべての次元の加重平均。
</ResponseField>

<ResponseField name="result.rail_score.confidence" type="number">
  スコアに対するモデルの信頼度 (0.0〜1.0)。
</ResponseField>

<ResponseField name="result.dimension_scores" type="object">
  次元ごとのスコア。各エントリは `score` (0〜10) と `confidence` (0〜1) を持ちます。deep モードでは `explanation`、`issues`、`suggestions` も含まれます。
</ResponseField>

<ResponseField name="result.from_cache" type="boolean">
  この結果がキャッシュから返された場合は `true` (0 クレジット)。
</ResponseField>

<ResponseField name="result.resolved_mode" type="string">
  `mode: "auto"` の場合、実際に実行されたティア — `"basic"` または `"deep"`。`result.escalated` を確認して、deep ジャッジが呼び出されたかどうかを判定します。
</ResponseField>

<ResponseField name="result.input_truncated" type="boolean">
  送信されたコンテンツが分析ウィンドウ（約4,000文字）を超える場合にのみ `true` として含まれます。スコアはコンテンツの先頭部分を反映します。完全なカバレッジが必要な場合は、長いコンテンツを複数のリクエストに分割してください。
</ResponseField>

<ResponseField name="credits_consumed" type="number">
  このリクエストに対して課金されたクレジット。キャッシュされたレスポンスの場合は `0`。
</ResponseField>
