RATIO DECIDENDI · LEGAL RAG ENGINE

Ratio

Indian legal AI built not to search text strings, but to extract judicial authority & ratio decidendi across ten thousand court judgments.

10,588Indian Court Judgments
580,939Indexed Context Chunks
IFM K2-HorizonInference LLM (375B MoE)
73.5%Recall@5 (Measured, 313 Labels)

The reason
for the decision.

Latin for the legal principle a court articulates when deciding a case. Not the outcome. Not the commentary. The rule that future courts are bound to follow.

Under Article 141 of the Indian Constitution, any ratio declared by the Supreme Court is law across the entire country. This product is named after the thing it actually retrieves.

NOT the outcome

Whether the appeal was allowed or dismissed is the dispositio. It is not the ratio. Two cases can have identical ratios and opposite outcomes.

NOT the judge's commentary

Obiter dicta are observations made in passing. Persuasive in future courts, but not binding. Retrieving them as holdings is a structural error.

The binding legal principle

The ratio is the rule the court articulates as the basis of its decision. Under Article 141, every Supreme Court ratio binds all courts in India. This is what Ratio retrieves.

Generic RAG treats legal judgments as generic documents. Legal text is not generic prose.

A single Supreme Court judgment records counsel submissions, lower court findings, distinguished precedents, and the court's own binding holding - often in the exact same paragraph.

RATIO PRINCIPLE

Disambiguating counsel submission from binding judicial ratio is not an aesthetic preference - it is a structural legal requirement. Ratio\'s stance detection is built around this distinction.

Five layers of legal precision

An interactive map of Ratio's retrieval pipeline. Use the arrows, the dots, or drag to move through it, click any stage to read the engineering rationale.

LOADING...

Built for judicial ground truth

Structural guarantees where the schema can enforce them, honest measured numbers where it can't - stance labelling reduces hallucinated holdings, it isn't a hard guarantee the way the citation schema is.

SAC

Summary-Augmented Chunking

Every 450-token chunk is automatically prefixed with a machine-generated 3-sentence summary of its parent judgment - preserving the core issue, ruling, and context in every vector embedding. Chunk size was chosen for defensible reasons; it has not itself been swept against the label set, which is recorded rather than implied.

450 TokensTokens Per Chunk (SAC-Prefixed)
CS-BM25

Case-Sensitive Tokenisation

Standard LLM tokenizers lowercase all text, destroying citation sensitivity ('AIR' → 'air', 'CrPC' → 'crpc'). Ratio indexes each identifier twice: once atomic and case-preserved, once split into lowercase words, so exact and topical matching share one postings list.

580,939Chunks In The Full Corpus
SCO

Enforced Citation Schema

Generation prompts enforce a strict JSON output schema. A claim without a source ID cannot be emitted at all, measured at 0% uncited claims and 91.2% citation precision on a 15-query structured-output benchmark - the schema forces attribution, it does not by itself guarantee the citation is right.

0%Uncited Claims (Structured Output)

A decade of Indian jurisprudence, fully indexed.

Built over the Hugging Face OpenNyAI InJudgements dataset. Supreme Court of India, High Courts, and Tribunals - pre-processed into a 580,939-chunk hybrid search index.

Every chunk carries parent metadata, tribunal tier weight, and full case citations to prevent context dilution during generation.

JUDICIAL HIERARCHY RE-RANKING WEIGHTS

Supreme Court of IndiaBinding Precedent (Art. 141)
WEIGHT 1.0
High Courts (State Benches)Persuasive / Regional Authority
WEIGHT 0.75
Specialised Tribunals (NCLT, NCLAT, ITAT)Domain Specific Orders
WEIGHT 0.50
READY FOR RESEARCH

Legal reasoning, finally legible.

Ask complex legal questions. Receive verified holdings, verbatim passage citations, and precedent authority scores.

Enter the Workspace→