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.
Installation
npm install @responsible-ai-labs/rail-score
Basic usage
import { RailScoreClient } from "@responsible-ai-labs/rail-score";
const client = new RailScoreClient({ apiKey: "YOUR_RAIL_API_KEY" });
// Evaluate content
const result = await client.eval({
content: "Your AI-generated text here",
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`);
}
Safe Regeneration
const result = await client.safeRegenerate({
content: "Prioritize candidates from top universities.",
prompt: "What hiring criteria should we use?",
threshold: 7.0,
mode: "basic",
maxIterations: 3,
});
console.log(`Final score: ${result.finalScore}/10`);
console.log(`Content: ${result.content}`);
Compliance check
const result = await client.complianceCheck({
content: "We store and process user interaction data.",
frameworks: ["gdpr", "eu_ai_act"],
context: "EU-facing SaaS product",
});
console.log(`Compliant: ${result.overallCompliant}`);
LLM provider wrappers
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: "Explain quantum computing." }],
});
console.log(`RAIL Score: ${response.railScore}/10`);
Naming conventions
The JavaScript SDK uses camelCase for all properties:
| API (snake_case) | SDK (camelCase) |
|---|
rail_score | railScore |
dimension_scores | dimensionScores |
safe_regenerate | safeRegenerate |
compliance_check | complianceCheck |
credits_consumed | creditsConsumed |
threshold_met | thresholdMet |