All modes score the same 8 dimensions and return the same overall RAIL score. They differ in depth and what detail comes back.
Basic mode
Deep mode
Auto mode
RAIL’s core scoring models. Fast (typically under a second) and built for real-time scoring in production.Returns: overall score, per-dimension scores, and confidence values.
result = client.eval(content="Your text here", mode="basic")# result.rail_score.score -> 7.6# result.dimension_scores -> {fairness: {score: 7.7, confidence: 0.84}, ...}
A deeper, more detailed analysis of the content. Takes a few seconds and, on top of the scores, can return a per-dimension explanation, issue tags, and improvement suggestions.
result = client.eval( content="Your text here", mode="deep", include_explanations=True, include_issues=True, include_suggestions=True,)# result.dimension_scores["transparency"].explanation -> "The process is mostly clear, but..."# result.dimension_scores["safety"].issues -> ["Potential phishing risks"]
Runs basic on every request, and escalates to deep only when a real issue is detected — a low-scoring or low-confidence dimension, or a flagged signal. Clean content stays fast and cheap; content that needs scrutiny automatically gets the deeper analysis.
resolved_mode and escalated in the response result tell you which tier ran. You’re billed at the tier that actually ran.
Which to use: reach for basic when you score on the hot path of a production request and want a fast verdict. Reach for deep when you need to show a reviewer why something scored low, or when you are debugging and tuning a policy, because it returns explanations and issue tags. Reach for auto when you want basic’s speed on most traffic but automatic deep analysis on the content that needs it — without deciding upfront.
rail_score — the overall score (0–10), its confidence, and a one-line summary.
dimension_scores — a score and confidence for each of the 8 dimensions. In deep mode each also carries an explanation and issues (and suggestions when requested).
A score maps to one of five bands, from Excellent (9.0–10.0) down to Critical (0.0–2.9). See The RAIL Framework for the full table and what each band means.
Identical requests return cached results, so repeated scoring of the same content is fast and not re-charged. Basic mode caches for 5 minutes, deep mode for 3 minutes.