Spaces:
Running
Running
| title: RAI Bench | |
| emoji: 🛡️ | |
| colorFrom: blue | |
| colorTo: purple | |
| sdk: docker | |
| pinned: false | |
| # Responsible AI Bench | |
| Independent evaluation dashboard for large language models and safety guardrails on localised content safety, RAG knowledge robustness, and demographic fairness, benchmarked for Singapore deployment contexts. | |
| Built by the AI Testing & Evaluation team at GovTech Singapore. | |
| ## Benchmarks | |
| | # | Benchmark | Metric | Direction | | |
| |---|-----------|--------|-----------| | |
| | 01 | Localised Undesired Content (RabakBench) | Refusal Rate | Higher is better | | |
| | 02 | RAG Out-of-Knowledge-Base Robustness | Abstention Rate | Higher is better | | |
| | 03 | Demographic Fairness | Disparity Score | Lower is better | | |
| ## Tech Stack | |
| - Next.js 16 (App Router) | |
| - React 19, TypeScript | |
| - Inline styles + CSS variables (no CSS modules) | |
| - Static data from CSV files in `public/` | |
| ## Getting Started | |
| ```bash | |
| npm install | |
| npm run dev | |
| ``` | |
| Open [http://localhost:3000](http://localhost:3000). | |
| ## Project Structure | |
| ``` | |
| src/ | |
| app/ | |
| page.tsx # Server component, loads data | |
| globals.css # Design tokens + component styles | |
| layout.tsx # Root layout with font config | |
| components/ | |
| Nav.tsx # Fixed nav bar with scroll-triggered title | |
| Hero.tsx # Banner with title + stats | |
| BenchmarkExplainer.tsx # Mode toggle + criteria cards | |
| EvaluationShell.tsx # Tab orchestration (models/guardrails) | |
| LeaderboardTable.tsx # Models leaderboard with expandable rows | |
| GuardrailsTable.tsx # Guardrails leaderboard | |
| AboutSection.tsx # Methodology panels + taxonomy mappings | |
| InsightsSection.tsx # Data visualisations | |
| ScoreDistribution.tsx # Dot plot (models) | |
| GuardrailDistribution.tsx # Dot plot (guardrails) | |
| GuardrailBarChart.tsx # Bar chart (guardrails) | |
| lib/ | |
| parseData.ts # Model CSV parsing + stats | |
| parseGuardrails.ts # Guardrail CSV parsing + thresholds | |
| types.ts # Shared TypeScript interfaces | |
| utils.ts # Formatting + colour helpers | |
| public/ | |
| models_data.csv # Model evaluation results | |
| guardrails_data.csv # Guardrail evaluation results | |
| ``` | |
| ## Data | |
| Evaluation results live in `public/*.csv`. To update scores, replace the CSV files and redeploy. The dashboard computes tercile thresholds at build time from the data. | |
| ## Deployment | |
| ```bash | |
| npm run build | |
| npm start | |
| ``` | |
| Compatible with any Node.js hosting (Vercel, Cloud Run, etc). | |