メインコンテンツへスキップ
1

API キーを取得する

  1. 無料アカウントに登録します
  2. ダッシュボードを開きます。
  3. API キーセクションで Generate Key をクリックします。
キーはすぐにコピーしてください。rail_ で始まり、二度と表示されません。
2

キーを検証する

curl https://api.responsibleailabs.ai/health
Response
{ "status": "healthy", "service": "rail-score-engine" }
3

SDK をインストールする

pip install rail-score-sdk
4

最初のレスポンスをスコアリングする

AI が生成したコンテンツを送信し、RAIL スコアを受け取ります。ここでは典型的なサポートボットの返信を評価します。
from rail_score_sdk import RailScoreClient

client = RailScoreClient(api_key="YOUR_RAIL_API_KEY")

result = client.eval(
    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",
)

print(f"RAIL Score: {result.rail_score.score}/10")
for dim, scores in result.dimension_scores.items():
    print(f"  {dim}: {scores.score}/10")
Response
{
  "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": { "enforcement": "block", "threshold": 7.0, "score": 7.6, "passed": true, "enforced": false },
  "metadata": { "req_id": "b00379a5-d6a7-45d6-905c-82925666a616", "mode": "basic" }
}
レスポンスの読み方:
  • rail_score.score — 全体スコア (0〜10) で、8 つの次元の加重平均です。ここでの 7.6Good バンドに入ります。
  • dimension_scores — 8 つの RAIL 次元それぞれのスコアと信頼度です。ここでスコアが低い項目 (透明性、説明責任、包括性が 6.6 前後) は改善すべき点を示しています。この返信は、誰に連絡すればよいか、メールが届かなかった場合にどうなるかを説明していません。
  • policy_outcomeアプリケーションのポリシーがこの結果をどう判断したかを示します。合格に必要なしきい値、passed したかどうか、そして現在エンフォースメントが有効かどうかです。ここではモニターモード (enforced: false) のため、判定は報告されますがレスポンス自体は変更されません。
5

deep モードでさらに深く分析する

basic モードはスコアを教えてくれます。deep モードは同じコンテンツについてより詳細な分析を実行し、次元ごとの説明、問題タグ、改善提案を追加します。これにより、ある次元がなぜそのスコアになったのかを確認できます。
result = client.eval(
    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="deep",
    include_explanations=True,
    include_issues=True,
)

for dim, scores in result.dimension_scores.items():
    print(f"{dim}: {scores.score}/10 — {scores.explanation}")
Response (excerpt)
{
  "result": {
    "rail_score": { "score": 8.1, "confidence": 0.77, "summary": "RAIL Score: 8.1/10 — Good" },
    "dimension_scores": {
      "transparency": {
        "score": 7.0, "confidence": 0.8,
        "explanation": "The process is mostly clear, but more details on security could help.",
        "issues": ["Lack of detailed security information"]
      },
      "safety": {
        "score": 8.0, "confidence": 0.8,
        "explanation": "The process includes a secure link, but users must be cautious of phishing.",
        "issues": ["Potential phishing risks"]
      }
    },
    "issues": [
      { "dimension": "safety", "description": "Potential phishing risks" },
      { "dimension": "transparency", "description": "Lack of detailed security information" }
    ]
  },
  "metadata": { "mode": "deep" }
}
各次元が explanationissues を持つようになり、レスポンスはフラグ付けされたすべての問題をトップレベルの issues 配列にまとめます。レビューキューやダッシュボードにそのまま表示できます。

次のステップ

コンセプト: 評価

basic モードと deep モード、スコアリングティア、カスタム重みを理解します。

コンセプト: 安全な再生成

しきい値を下回ったコンテンツを自動的に修正します。

インテグレーション

OpenAI、Anthropic、Gemini の呼び出しをラップし、RAIL スコアリングを自動化します。

Python SDK

同期/非同期クライアントを含む完全な SDK リファレンス。