IndiaFinBench / demo /templates /index.html
Rajveer Singh Pall
Deploy IndiaFinBench research site
8f41246
Raw
History Blame Contribute Delete
30.6 kB
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>IndiaFinBench β€” The First Benchmark for Indian Financial Regulation</title>
<meta name="description" content="IndiaFinBench: 406 expert-annotated questions over 192 SEBI &amp; RBI regulatory documents (1992–2026). Twelve frontier LLMs evaluated. Hybrid RAG with Recall@5 = 0.785. Open dataset, open leaderboard.">
<meta property="og:title" content="IndiaFinBench β€” Can language models read India's financial law?">
<meta property="og:description" content="The first evaluation benchmark for LLM performance on Indian financial regulatory text. 406 questions Β· 192 documents Β· 12 models Β· open dataset.">
<meta property="og:type" content="website">
<meta property="og:url" content="https://huggingface.co/spaces/Rajveer-code/IndiaFinBench">
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' rx='8' fill='%23F5F1E8'/%3E%3Ctext x='32' y='46' text-anchor='middle' font-family='Georgia,serif' font-size='40' font-weight='700' fill='%23A33B20'%3E%C2%A7%3C/text%3E%3C/svg%3E">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..700;1,9..144,400..700&family=Archivo:wght@400;500;600;700&family=IBM+Plex+Mono:ital,wght@0,400;0,500;0,600;1,400&display=swap" rel="stylesheet">
<link rel="stylesheet" href="/static/css/main.css?v={{ js_ver }}">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Dataset",
"name": "IndiaFinBench",
"description": "An evaluation benchmark of 406 expert-annotated question-answer pairs over 192 SEBI and RBI regulatory documents (1992-2026), testing LLM performance on Indian financial regulatory text.",
"url": "https://github.com/Rajveer-code/IndiaFinBench",
"sameAs": "https://huggingface.co/datasets/Rajveer-code/IndiaFinBench",
"license": "https://creativecommons.org/licenses/by/4.0/",
"creator": { "@type": "Person", "name": "Rajveer Singh Pall" },
"keywords": ["LLM evaluation", "financial NLP", "Indian regulation", "SEBI", "RBI", "benchmark"]
}
</script>
</head>
<body>
<canvas id="archiveCanvas" aria-hidden="true"></canvas>
<a class="skip-link" href="#leaderboard">Skip to leaderboard</a>
<!-- ════════ MASTHEAD ════════ -->
<header class="masthead" id="masthead">
<div class="masthead-inner">
<a class="brand" href="#top" aria-label="IndiaFinBench β€” back to top">
<span class="brand-seal" aria-hidden="true">Β§</span>
<span class="brand-word">India<em>Fin</em>Bench</span>
</a>
<nav class="mast-nav" aria-label="Chapters">
<a href="#problem">Problem</a>
<a href="#corpus">Corpus</a>
<a href="#benchmark">Benchmark</a>
<a href="#leaderboard">Leaderboard</a>
<a href="#findings">Findings</a>
<a href="#retrieval">Retrieval</a>
<a href="#access">Access</a>
</nav>
<div class="mast-actions">
<a class="mast-btn" href="https://huggingface.co/datasets/Rajveer-code/IndiaFinBench" target="_blank" rel="noopener">Dataset</a>
<a class="mast-btn mast-btn-solid" href="https://github.com/Rajveer-code/IndiaFinBench" target="_blank" rel="noopener">GitHub</a>
<button class="mast-menu" id="menuBtn" aria-label="Open menu" aria-expanded="false">
<span></span><span></span>
</button>
</div>
</div>
<div class="mast-drawer" id="menuDrawer">
<a href="#problem">Β§ 01 β€” The Problem</a>
<a href="#corpus">Β§ 02 β€” The Corpus</a>
<a href="#benchmark">Β§ 03 β€” The Benchmark</a>
<a href="#leaderboard">Β§ 04 β€” The Evaluation</a>
<a href="#findings">Β§ 05 β€” The Findings</a>
<a href="#retrieval">Β§ 06 β€” The Retrieval</a>
<a href="#access">Β§ 07 β€” The Access</a>
</div>
</header>
<!-- ════════ PROGRESS RAIL ════════ -->
<aside class="rail" id="rail" aria-hidden="true">
<div class="rail-line"><div class="rail-fill" id="railFill"></div></div>
<ol class="rail-list">
<li data-ch="problem"><a href="#problem"><b>01</b><span>Problem</span></a></li>
<li data-ch="corpus"><a href="#corpus"><b>02</b><span>Corpus</span></a></li>
<li data-ch="benchmark"><a href="#benchmark"><b>03</b><span>Benchmark</span></a></li>
<li data-ch="leaderboard"><a href="#leaderboard"><b>04</b><span>Evaluation</span></a></li>
<li data-ch="findings"><a href="#findings"><b>05</b><span>Findings</span></a></li>
<li data-ch="retrieval"><a href="#retrieval"><b>06</b><span>Retrieval</span></a></li>
<li data-ch="access"><a href="#access"><b>07</b><span>Access</span></a></li>
</ol>
</aside>
<main id="top">
<!-- ════════ HERO ════════ -->
<section class="hero">
<div class="hero-inner">
<p class="hero-kicker reveal">A research benchmark &amp; open dataset Β· EMNLP 2026 submission</p>
<h1 class="hero-title reveal">Can language models read India&rsquo;s <em>financial&nbsp;law?</em></h1>
<p class="hero-sub reveal">
IndiaFinBench is the first evaluation benchmark for large language models on Indian
financial regulatory text β€” <strong>406 expert-annotated questions</strong> drawn from
<strong>192 SEBI and RBI documents</strong> spanning thirty-four years of the regulatory record.
</p>
<div class="hero-cta reveal">
<a class="btn btn-ink" href="#leaderboard">Read the leaderboard</a>
<a class="btn btn-line" href="#retrieval">Query the corpus live</a>
</div>
</div>
<p class="hero-scrollcue reveal" aria-hidden="true">Scroll β€” the archive assembles<span class="cue-arrow">↓</span></p>
<div class="hero-ledger reveal" role="list" aria-label="Benchmark statistics">
<div class="ledger-cell" role="listitem"><span class="ledger-num" data-count="406">0</span><span class="ledger-lbl">expert-annotated questions</span></div>
<div class="ledger-cell" role="listitem"><span class="ledger-num" data-count="192">0</span><span class="ledger-lbl">RBI &amp; SEBI documents</span></div>
<div class="ledger-cell" role="listitem"><span class="ledger-num" data-count="12">0</span><span class="ledger-lbl">frontier models evaluated</span></div>
<div class="ledger-cell" role="listitem"><span class="ledger-num" data-count="0.785" data-dec="3">0</span><span class="ledger-lbl">Recall@5, hybrid retrieval</span></div>
<div class="ledger-cell" role="listitem"><span class="ledger-num" data-count="89.7" data-dec="1" data-suffix="%">0</span><span class="ledger-lbl">best model accuracy</span></div>
<div class="ledger-cell" role="listitem"><span class="ledger-num" data-count="69.0" data-dec="1" data-suffix="%">0</span><span class="ledger-lbl">human expert baseline</span></div>
</div>
</section>
<!-- ════════ Β§01 THE PROBLEM ════════ -->
<section class="chapter" id="problem">
<header class="ch-head reveal">
<span class="ch-no">Β§ 01</span>
<h2 class="ch-title">The Problem</h2>
<p class="ch-lede">Benchmarks read English. Regulation reads differently.</p>
</header>
<div class="prose-cols vellum reveal">
<p>
Financial NLP benchmarks β€” FinQA, TAT-QA, FiQA β€” are built almost entirely on Western
corporate filings. None test whether a model can navigate the regulatory apparatus
governing the world&rsquo;s most populous market. Indian regulation poses three difficulties
that existing benchmarks never measure.
</p>
<p>
Numerical thresholds are buried in dense statutory prose, often written out in words.
Circulars supersede one another in long chains, so the <em>operative</em> rule at a given
date is a temporal-reasoning problem, not a lookup. And the vocabulary β€” LODR, PMLA,
AIF, FEMA, SFB β€” is jurisdiction-specific, thinly represented in Western training corpora.
</p>
</div>
<div class="problem-grid">
<article class="problem-card reveal">
<span class="pc-no">i</span>
<h3>Numbers hide in prose</h3>
<p>Capital ratios, margin requirements and filing deadlines appear as words inside clauses, not cells inside tables. Extraction requires precision reading, then arithmetic.</p>
</article>
<article class="problem-card reveal">
<span class="pc-no">ii</span>
<h3>Circulars supersede circulars</h3>
<p>A 2019 master circular may amend a 2014 directive that replaced a 1998 notification. Answering &ldquo;what rule applied in 2016?&rdquo; means untangling the chain.</p>
</article>
<article class="problem-card reveal">
<span class="pc-no">iii</span>
<h3>The vocabulary is sovereign</h3>
<p>LODR is not a typo and an AIF is not a hedge fund. Jurisdiction-specific terms of art carry exact legal meanings that general-purpose corpora rarely teach.</p>
</article>
</div>
<figure class="specimen reveal" aria-label="Annotated regulatory excerpt">
<figcaption class="spec-head">
<span class="spec-tag">Exhibit A</span>
<span class="spec-src">SEBI (LODR) Regulations Β· Regulation 33(3)(a)</span>
</figcaption>
<blockquote class="spec-body">
The listed entity shall submit quarterly and year-to-date standalone financial results to the
stock exchange within <mark class="m-num" data-note="numeral written as words">forty-five days</mark>
of end of each quarter, <mark class="m-scope" data-note="scope exception">other than the last quarter</mark>,
as per the requirements of <mark class="m-ref" data-note="cross-reference to resolve">Regulation&nbsp;33</mark>.
</blockquote>
<figcaption class="spec-legend">
<span><i class="lg lg-num"></i>numerical threshold in prose</span>
<span><i class="lg lg-scope"></i>scope exception</span>
<span><i class="lg lg-ref"></i>cross-reference</span>
</figcaption>
</figure>
</section>
<!-- ════════ Β§02 THE CORPUS ════════ -->
<section class="chapter ch-alt" id="corpus">
<header class="ch-head reveal">
<span class="ch-no">Β§ 02</span>
<h2 class="ch-title">The Corpus</h2>
<p class="ch-lede">Thirty-four years of primary sources, read in full.</p>
</header>
<div class="corpus-grid">
<div class="corpus-copy vellum reveal">
<p class="prose">
Every question in IndiaFinBench traces to a primary-source document published by the
Securities and Exchange Board of India or the Reserve Bank of India between
<strong>1992 and 2026</strong> β€” circulars, master directions, notifications and
regulations, collected with full source URLs and parsed into a queryable corpus.
</p>
<dl class="corpus-stats">
<div><dt>SEBI documents</dt><dd class="mono c-green">92</dd></div>
<div><dt>RBI documents</dt><dd class="mono c-red">100</dd></div>
<div><dt>Document span</dt><dd class="mono">1992–2026</dd></div>
<div><dt>Indexed chunks</dt><dd class="mono">4,347</dd></div>
<div><dt>Chunk size</dt><dd class="mono">1,600 chars</dd></div>
<div><dt>License</dt><dd class="mono">Public domain (GoI)</dd></div>
</dl>
</div>
<figure class="doc-field reveal" aria-label="192 source documents: 92 SEBI, 100 RBI">
<div class="doc-dots" id="docDots"></div>
<figcaption><span><i class="dot dot-sebi"></i>SEBI &middot; 92</span><span><i class="dot dot-rbi"></i>RBI &middot; 100</span><span class="doc-total">192 documents</span></figcaption>
</figure>
</div>
</section>
<!-- ════════ Β§03 THE BENCHMARK ════════ -->
<section class="chapter" id="benchmark">
<header class="ch-head reveal">
<span class="ch-no">Β§ 03</span>
<h2 class="ch-title">The Benchmark</h2>
<p class="ch-lede">From circular to question: a dual-validated construction.</p>
</header>
<ol class="pipeline reveal" aria-label="Benchmark construction pipeline">
<li><b>Collect</b><span>192 primary documents, 1992–2026, with source URLs</span></li>
<li><b>Author</b><span>QA pairs drafted against exact passages, four task types</span></li>
<li><b>Validate</b><span>model check on answerability β€” 90.7% agreement, ΞΊ = 0.918 (CON)</span></li>
<li><b>Adjudicate</b><span>human IAA on 180 items across 3 rounds β€” 77.2% agreement, ΞΊ = 0.645 (CON)</span></li>
<li><b>Release</b><span>406 items, CC BY 4.0, with per-item difficulty labels</span></li>
</ol>
<div class="task-grid" id="taskGrid"><!-- built by JS from IFB_TASKS --></div>
<div class="diff-strip reveal" aria-label="Difficulty distribution">
<div class="diff-bar-outer">
<div class="diff-seg ds-easy" style="--w:39.4%" title="Easy: 160 items"><span>Easy Β· 160</span></div>
<div class="diff-seg ds-med" style="--w:44.8%" title="Medium: 182 items"><span>Medium Β· 182</span></div>
<div class="diff-seg ds-hard" style="--w:15.8%" title="Hard: 64 items"><span>Hard Β· 64</span></div>
</div>
<p class="diff-note">Difficulty assigned at authoring time by reasoning depth β€” <em>hard</em> means multi-instrument tracking or compound arithmetic.</p>
</div>
</section>
<!-- ════════ Β§04 THE EVALUATION ════════ -->
<section class="chapter ch-alt" id="leaderboard">
<header class="ch-head reveal">
<span class="ch-no">Β§ 04</span>
<h2 class="ch-title">The Evaluation</h2>
<p class="ch-lede">Twelve models. Zero shots. One human baseline to beat.</p>
</header>
<div class="panel reveal">
<div class="panel-bar">
<div>
<h3 class="panel-title" id="chartTitle">Overall accuracy</h3>
<p class="panel-sub" id="chartDesc">All 406 items Β· zero-shot Β· 95% Wilson confidence intervals on hover</p>
</div>
<div class="tabset" id="taskTabs" role="tablist" aria-label="Metric">
<button class="tab active" role="tab" aria-selected="true" data-t="overall">Overall</button>
<button class="tab" role="tab" aria-selected="false" data-t="reg">REG</button>
<button class="tab" role="tab" aria-selected="false" data-t="num">NUM</button>
<button class="tab" role="tab" aria-selected="false" data-t="con">CON</button>
<button class="tab" role="tab" aria-selected="false" data-t="tmp">TMP</button>
</div>
</div>
<div class="chart" id="barChart"></div>
<p class="chart-foot">Dashed rule marks the human expert baseline for the selected metric (n = 100). Paired bootstrap over all 66 model pairs resolves <strong>three statistically distinct tiers</strong>.</p>
</div>
<div class="panel reveal">
<div class="panel-bar">
<div>
<h3 class="panel-title">Full results</h3>
<p class="panel-sub">Click a column to sort Β· † Claude 3 Haiku scored 91.3% on the initial 150-item subset; listed separately as not directly comparable</p>
</div>
</div>
<div class="table-scroll">
<table class="gz-table" id="resultsTable">
<thead><tr>
<th class="c sortable" data-k="rank">#</th>
<th>Model</th>
<th class="sortable" data-k="params">Params</th>
<th>Access</th>
<th class="c sortable" data-k="reg">REG</th>
<th class="c sortable" data-k="num">NUM</th>
<th class="c sortable" data-k="con">CON</th>
<th class="c sortable" data-k="tmp">TMP</th>
<th class="c sortable sorted" data-k="overall">Overall</th>
<th class="c">95% CI</th>
</tr></thead>
<tbody id="tBody"></tbody>
</table>
</div>
</div>
<div class="panel reveal">
<div class="panel-bar">
<div>
<h3 class="panel-title">Accuracy by difficulty</h3>
<p class="panel-sub">Ξ” = hard βˆ’ easy. LLaMA-3.3-70B <em>improves</em> on hard items; Gemma 4 E4B collapses by 26.3 points.</p>
</div>
</div>
<div class="table-scroll">
<table class="gz-table" id="diffTable">
<thead><tr><th>Model</th><th class="c">Easy <span class="th-n">n=160</span></th><th class="c">Medium <span class="th-n">n=182</span></th><th class="c">Hard <span class="th-n">n=64</span></th><th class="c">Ξ”</th></tr></thead>
<tbody id="diffBody"></tbody>
</table>
</div>
</div>
</section>
<!-- ════════ Β§05 THE FINDINGS ════════ -->
<section class="chapter" id="findings">
<header class="ch-head reveal">
<span class="ch-no">Β§ 05</span>
<h2 class="ch-title">The Findings</h2>
<p class="ch-lede">What 4,872 graded answers say about regulatory reasoning.</p>
</header>
<div class="findings-grid">
<article class="finding reveal">
<span class="f-no">Finding 1</span>
<p class="f-stat">3 tiers</p>
<h3>Performance is tiered, and the tiers are real</h3>
<p>Paired bootstrap (10,000 resamples, all 66 pairs) separates frontier API models (81–90%), mid-tier open-weight models (75–79%), and a small-model floor at 70%. Most cross-tier gaps are significant at p &lt; 0.05.</p>
</article>
<article class="finding reveal">
<span class="f-no">Finding 2</span>
<p class="f-stat">17B β‰ˆ 70B</p>
<h3>Scale alone does not buy regulatory reasoning</h3>
<p>Llama 4 Scout 17B statistically matches LLaMA-3.3-70B (p = 0.79) with a quarter of the parameters β€” and GPT-OSS 120B is indistinguishable from GPT-OSS 20B (p = 0.91, Ξ” = +0.3 pp).</p>
</article>
<article class="finding reveal">
<span class="f-no">Finding 3</span>
<p class="f-stat">35.9 pp</p>
<h3>Numerical reasoning is the discriminator</h3>
<p>NUM shows the widest spread of any task β€” from 84.8% (Gemini 2.5 Flash) down to 48.9% (Gemini 2.5 Pro). If you want to tell models apart, ask them to do arithmetic inside statute.</p>
</article>
<article class="finding reveal">
<span class="f-no">Finding 4</span>
<p class="f-stat">48.9% vs 89.7%</p>
<h3>Capability dissociates within a single model</h3>
<p>Gemini 2.5 Pro ranks first on regulatory interpretation yet last on numerical reasoning β€” task-type performance can split wide open inside the same weights.</p>
</article>
<article class="finding reveal">
<span class="f-no">Finding 5</span>
<p class="f-stat">11th / 12</p>
<h3>Reasoning-specialised β‰  timeline-capable</h3>
<p>DeepSeek R1 70B, built for chain-of-thought, ranks 11th overall and manages only 70.5% on temporal reasoning β€” general deliberation does not transfer to supersession chains.</p>
</article>
<article class="finding reveal">
<span class="f-no">Finding 6</span>
<p class="f-stat">12 / 12 &gt; human</p>
<h3>Every model beats the human baseline</h3>
<p>Human experts score 69.0% (n = 100, CI [59.4, 77.2]). All twelve models exceed it β€” yet the best still miss one answer in ten, in a domain where the answer is a legal obligation.</p>
</article>
</div>
</section>
<!-- ════════ Β§06 THE RETRIEVAL ════════ -->
<section class="chapter ch-alt" id="retrieval">
<header class="ch-head reveal">
<span class="ch-no">Β§ 06</span>
<h2 class="ch-title">The Retrieval</h2>
<p class="ch-lede">The benchmark closes the book. The retrieval system opens it.</p>
</header>
<p class="prose prose-narrow reveal">
IndiaFinBench evaluates closed-book reading. Its open-book counterpart is a hybrid
retrieval system over the same 192-document corpus: dense semantic search and sparse
lexical search run in parallel, fused by reciprocal rank β€” because regulatory text,
saturated with citation identifiers, rewards exact matching as much as meaning.
</p>
<figure class="rag-diagram reveal" aria-label="Hybrid retrieval pipeline">
<svg viewBox="0 0 940 240" xmlns="http://www.w3.org/2000/svg" role="img">
<defs>
<marker id="arr" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse">
<path d="M0 0L10 5L0 10z" fill="currentColor"/>
</marker>
</defs>
<g class="rd-node" transform="translate(10,90)">
<rect width="130" height="60" rx="3"/>
<text x="65" y="28" text-anchor="middle" class="rd-t1">Query</text>
<text x="65" y="45" text-anchor="middle" class="rd-t2">natural language</text>
</g>
<path class="rd-flow" d="M140 110 H 205 V 55 H 250" marker-end="url(#arr)"/>
<path class="rd-flow" d="M140 130 H 205 V 185 H 250" marker-end="url(#arr)"/>
<g class="rd-node rd-dense" transform="translate(250,25)">
<rect width="190" height="60" rx="3"/>
<text x="95" y="28" text-anchor="middle" class="rd-t1">Dense Β· FAISS</text>
<text x="95" y="45" text-anchor="middle" class="rd-t2">BGE Β· 768-d Β· 4,347 vectors</text>
</g>
<g class="rd-node rd-sparse" transform="translate(250,155)">
<rect width="190" height="60" rx="3"/>
<text x="95" y="28" text-anchor="middle" class="rd-t1">Sparse Β· BM25</text>
<text x="95" y="45" text-anchor="middle" class="rd-t2">lexical Β· 1,600-char chunks</text>
</g>
<path class="rd-flow" d="M440 55 H 505 V 105 H 530" marker-end="url(#arr)"/>
<path class="rd-flow" d="M440 185 H 505 V 135 H 530" marker-end="url(#arr)"/>
<g class="rd-node rd-rrf" transform="translate(530,90)">
<rect width="160" height="60" rx="3"/>
<text x="80" y="28" text-anchor="middle" class="rd-t1">RRF fusion</text>
<text x="80" y="45" text-anchor="middle" class="rd-t2">reciprocal rank Β· k = 60</text>
</g>
<path class="rd-flow" d="M690 120 H 780" marker-end="url(#arr)"/>
<g class="rd-node" transform="translate(780,90)">
<rect width="150" height="60" rx="3"/>
<text x="75" y="28" text-anchor="middle" class="rd-t1">Answer</text>
<text x="75" y="45" text-anchor="middle" class="rd-t2">LLaMA-3.3-70B Β· cited</text>
</g>
</svg>
</figure>
<div class="panel reveal">
<div class="panel-bar">
<div>
<h3 class="panel-title">Retrieval ablation</h3>
<p class="panel-sub">Six configurations. Hybrid fusion gains +9.7 points of Recall@5 over dense-only; BM25 alone wins MRR β€” lexical structure matters in law.</p>
</div>
</div>
<div class="table-scroll">
<table class="gz-table">
<thead><tr><th>Configuration</th><th class="c">Recall@5</th><th class="c">MRR</th><th class="c">p50 latency</th></tr></thead>
<tbody>
<tr><td>Dense only <span class="cfg">B0</span></td><td class="c mono">0.688</td><td class="c mono">0.542</td><td class="c mono">48 ms</td></tr>
<tr><td>BM25 only <span class="cfg">B1</span></td><td class="c mono">0.764</td><td class="c mono"><strong>0.674</strong></td><td class="c mono">30 ms</td></tr>
<tr class="row-hi"><td><strong>Hybrid RRF</strong> <span class="cfg">B2</span> <span class="cfg-pick">selected</span></td><td class="c mono"><strong>0.785</strong></td><td class="c mono">0.640</td><td class="c mono">77 ms</td></tr>
<tr><td>Small chunks, 800 chars <span class="cfg">B3</span></td><td class="c mono">0.583</td><td class="c mono">0.493</td><td class="c mono">138 ms</td></tr>
<tr><td>Large chunks, 2,400 chars <span class="cfg">B4</span></td><td class="c mono">0.542</td><td class="c mono">0.410</td><td class="c mono">71 ms</td></tr>
<tr><td>Hybrid, k = 10 <span class="cfg">B5</span></td><td class="c mono">0.785</td><td class="c mono">0.640</td><td class="c mono">78 ms</td></tr>
</tbody>
</table>
</div>
</div>
<div class="panel panel-live reveal" id="ragPanel">
<div class="panel-bar">
<div>
<h3 class="panel-title"><span class="live-dot" aria-hidden="true"></span>Ask the corpus</h3>
<p class="panel-sub">Live hybrid retrieval over all 192 documents β€” every claim sourced, every source scored.</p>
</div>
</div>
<div class="rag-row">
<input class="rag-input" id="ragQ" type="text" placeholder="What is the minimum capital adequacy ratio for banks?" aria-label="Question for the regulatory corpus">
<button class="btn btn-ink" id="ragBtn">Retrieve</button>
</div>
<div class="rag-examples" aria-label="Example queries">
<button class="chip" data-q="What is the circuit breaker limit for NSE stocks?">Circuit breaker limits</button>
<button class="chip" data-q="What is SEBI's definition of insider trading?">Insider trading definition</button>
<button class="chip" data-q="What is the minimum capital adequacy ratio for banks?">Capital adequacy ratio</button>
<button class="chip" data-q="What are the KYC requirements for opening a bank account?">KYC requirements</button>
</div>
<div class="rag-out" id="ragOut" hidden>
<div class="rag-status" id="ragStatus" hidden><span class="spinner" aria-hidden="true"></span><span id="ragStatusText">Retrieving from corpus…</span></div>
<div class="rag-answer" id="ragAnswer"></div>
<div class="rag-sources" id="ragSources"></div>
</div>
</div>
</section>
<!-- ════════ Β§07 THE ACCESS ════════ -->
<section class="chapter" id="access">
<header class="ch-head reveal">
<span class="ch-no">Β§ 07</span>
<h2 class="ch-title">The Access</h2>
<p class="ch-lede">An open dataset, an open leaderboard, an open invitation.</p>
</header>
<div class="panel reveal" id="explorerPanel">
<div class="panel-bar">
<div>
<h3 class="panel-title">Examine a specimen</h3>
<p class="panel-sub">Draw a random item from the 406 β€” filtered by task and difficulty, answer sealed until you ask.</p>
</div>
<div class="explorer-controls">
<select class="select" id="exTask" aria-label="Task type">
<option value="All">All tasks</option>
<option value="Regulatory Interpretation">Regulatory Interpretation</option>
<option value="Numerical Reasoning">Numerical Reasoning</option>
<option value="Contradiction Detection">Contradiction Detection</option>
<option value="Temporal Reasoning">Temporal Reasoning</option>
</select>
<select class="select" id="exDiff" aria-label="Difficulty">
<option value="All">All difficulties</option>
<option value="Easy">Easy</option>
<option value="Medium">Medium</option>
<option value="Hard">Hard</option>
</select>
<button class="btn btn-ink" id="exBtn">Draw item</button>
</div>
</div>
<div class="ex-card" id="exCard" hidden>
<div class="ex-meta"><span class="ex-id mono" id="exId"></span><span class="ex-badge" id="exTaskBadge"></span><span class="ex-badge" id="exDiffBadge"></span></div>
<p class="ex-label">Context</p>
<blockquote class="ex-context" id="exContext"></blockquote>
<p class="ex-label">Question</p>
<p class="ex-question" id="exQuestion"></p>
<button class="btn btn-line btn-sm" id="exReveal">Unseal answer</button>
<div class="ex-answer" id="exAnswer" hidden><p class="ex-label">Gold answer</p><p class="mono" id="exAnswerText"></p></div>
</div>
</div>
<div class="access-grid">
<div class="panel reveal">
<div class="panel-bar"><div><h3 class="panel-title">Submit a model</h3><p class="panel-sub">Any public HuggingFace model, evaluated zero-shot on all 406 items with four-stage scoring. Results join the leaderboard with Wilson CIs.</p></div></div>
<div class="form-grid">
<label class="field"><span>HuggingFace model ID <em>*</em></span><input class="input" id="hfId" type="text" placeholder="mistralai/Mistral-7B-Instruct-v0.3"></label>
<label class="field"><span>Display name</span><input class="input" id="dispName" type="text" placeholder="Mistral-7B"></label>
<label class="field"><span>Parameters</span><input class="input" id="modelParams" type="text" placeholder="7B"></label>
<label class="field"><span>Model type</span>
<select class="select" id="mtype"><option>Frontier API</option><option>Open-weight API</option><option>Local (Ollama)</option><option>Reasoning API</option></select>
</label>
</div>
<div class="form-foot">
<button class="btn btn-ink" id="subBtn">Open submission issue</button>
<p class="status" id="statusBox" role="status" hidden></p>
</div>
</div>
<div class="panel reveal">
<div class="panel-bar"><div><h3 class="panel-title">Cite the record</h3><p class="panel-sub">Dataset CC BY 4.0 Β· code MIT Β· source documents public domain (Government of India).</p></div></div>
<div class="cite-box">
<button class="copy-btn" id="copyBtn">Copy</button>
<pre class="mono" id="citeText">{% raw %}@article{pall2026indiafinbench,
title = {{IndiaFinBench}: An Evaluation Benchmark
for LLM Performance on Indian Financial
Regulatory Text},
author = {Pall, Rajveer Singh},
journal = {Proceedings of EMNLP},
year = {2026},
url = {https://github.com/Rajveer-code/IndiaFinBench}
}{% endraw %}</pre>
</div>
<div class="access-links">
<a class="btn btn-line" href="https://huggingface.co/datasets/Rajveer-code/IndiaFinBench" target="_blank" rel="noopener">Dataset on HuggingFace</a>
<a class="btn btn-line" href="https://github.com/Rajveer-code/IndiaFinBench" target="_blank" rel="noopener">Code on GitHub</a>
</div>
</div>
</div>
</section>
</main>
<!-- ════════ FOOTER ════════ -->
<footer class="footer">
<div class="footer-rule" aria-hidden="true"></div>
<p class="footer-brand"><span class="brand-seal">Β§</span> India<em>Fin</em>Bench</p>
<p class="footer-line">Rajveer Singh Pall Β· Gyan Ganga Institute of Technology and Sciences Β· <a href="mailto:rajveerpall04@gmail.com">rajveerpall04@gmail.com</a></p>
<p class="footer-sub">406 questions Β· 192 documents Β· 12 models Β· zero-shot Β· dataset CC BY 4.0 Β· code MIT</p>
</footer>
<script src="/static/js/data.js?v={{ js_ver }}"></script>
<script src="/static/js/main.js?v={{ js_ver }}" defer></script>
<script src="/static/js/archive-scene.js?v={{ js_ver }}" defer></script>
</body>
</html>