Skip to content

Latest commit

 

History

History
158 lines (118 loc) · 3.74 KB

File metadata and controls

158 lines (118 loc) · 3.74 KB

Project Overview

RouterArena is the first open platform enabling comprehensive evaluation and comparison of LLM routers. Check out the website for more details.

Research Team

Rice University

For Developers

Prerequisites

  • Node.js (v14 or higher)
  • npm or yarn

Installation

  1. Clone the repository:
git clone https://github.com/rice-university/routerarena.git
cd routerarena
  1. Install dependencies:
npm install
  1. Start the development server:
npm start
  1. Open http://localhost:3000 to view it in the browser.

Building for Production

npm run build

This builds the app for production to the build folder.

Coding/PR Style Check

We use pre-commit to ensure a consistent coding style. You can set it up by

pip install pre-commit
pre-commit install

Before pushing your code, please run the following check and make sure your code passes all checks.

pre-commit run --all-files

We have set up Google Gemini to review your code. You can use it by running the following command:

/gemini review

Web Stack

  • Frontend: React 19.2.0 with TypeScript
  • Routing: React Router DOM 6.8.1
  • Icons: Lucide React 0.263.1
  • Charts: Recharts 2.8.0
  • Styling: CSS3 with modern features
  • Build Tool: Create React App

Project Structure

src/
├── components/          # Reusable UI components
│   ├── Header.tsx      # Navigation header
│   └── Header.css      # Header styles
├── pages/              # Page components
│   ├── HomePage.tsx    # Landing page
│   ├── LeaderboardPage.tsx  # Router rankings
│   ├── SubmitPromptPage.tsx # Router submission
│   ├── AboutPage.tsx   # Project information
│   └── *.css          # Page-specific styles
├── data/               # Mock data and constants
│   └── mockData.ts     # Router data and contact info
├── types/              # TypeScript type definitions
│   └── index.ts        # Router and data types
├── assets/             # Static assets
│   └── images/         # Figures from research paper
├── App.tsx             # Main application component
├── App.css             # Global styles
└── index.tsx           # Application entry point

Router Data Structure

interface Router {
  id: string;
  name: string;
  type: 'academic' | 'commercial';
  description: string;
  metrics: {
    arenaScore: number;
    costRatioScore: number;
    optimalAccScore: number;
    latencyScore: number;
    robustnessScore: number;
    overallRank: number;
  };
  modelPool: string[];
  paperUrl?: string;
  githubUrl?: string;
}

Contributing

We welcome contributions to the RouterArena platform! Please see our submission guidelines on the website or contact us directly.

Citation

If you use RouterArena in your research, please cite our paper:

@misc{lu2024routerarena,
  title={RouterArena: An Open Platform for Comprehensive Comparison of LLM Routers},
  author={Yifan Lu and Rixin Liu and Jiayi Yuan and Xingqi Cui and Shenrun Zhang and Hongyi Liu and Jiarong Xing},
  year={2024},
  eprint={2510.00202},
  archivePrefix={arXiv},
  primaryClass={cs.LG},
  url={https://arxiv.org/abs/2510.00202}
}

Contact

Acknowledgments

We thank all contributors who have made this project possible.