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

インストール

npm install @responsible-ai-labs/rail-score

基本的な使用法

import { RailScoreClient } from "@responsible-ai-labs/rail-score";

const client = new RailScoreClient({ apiKey: "YOUR_RAIL_API_KEY" });

// コンテンツを評価
const result = await client.eval({
  content: "ここにあなたのAI生成テキストを入力",
  mode: "basic",
});

console.log(`RAIL Score: ${result.railScore.score}/10`);

for (const [dim, scores] of Object.entries(result.dimensionScores)) {
  console.log(`  ${dim}: ${scores.score}/10`);
}

安全な再生成

const result = await client.safeRegenerate({
  content: "トップ大学からの候補者を優先します。",
  prompt: "どの採用基準を使用すべきですか?",
  threshold: 7.0,
  mode: "basic",
  maxIterations: 3,
});

console.log(`最終スコア: ${result.finalScore}/10`);
console.log(`コンテンツ: ${result.content}`);

コンプライアンスチェック

const result = await client.complianceCheck({
  content: "ユーザーのインタラクションデータを保存および処理します。",
  frameworks: ["gdpr", "eu_ai_act"],
  context: "EU向けSaaS製品",
});

console.log(`コンプライアント: ${result.overallCompliant}`);

LLMプロバイダーラッパー

import { RAILOpenAI, RAILAnthropic, RAILGemini } from "@responsible-ai-labs/rail-score";

const client = new RAILOpenAI({
  openaiApiKey: "sk-...",
  railApiKey: "YOUR_RAIL_API_KEY",
  railThreshold: 7.0,
  railPolicy: "regenerate",
});

const response = await client.chatCompletion({
  model: "gpt-4o",
  messages: [{ role: "user", content: "量子コンピューティングについて説明してください。" }],
});

console.log(`RAIL Score: ${response.railScore}/10`);

命名規則

JavaScript SDKはすべてのプロパティにcamelCaseを使用します:
API (snake_case)SDK (camelCase)
rail_scorerailScore
dimension_scoresdimensionScores
safe_regeneratesafeRegenerate
compliance_checkcomplianceCheck
credits_consumedcreditsConsumed
threshold_metthresholdMet