|
# LLM Comparison Leaderboard |
|
|
|
An interactive dashboard for comparing the performance of state-of-the-art large language models across various tasks and metrics. |
|
|
|
## Features |
|
|
|
- Overall model rankings with comprehensive scoring |
|
- Task-specific performance analysis |
|
- Metric breakdowns across different dimensions |
|
- User satisfaction and experience metrics |
|
- Interactive visualizations using Recharts |
|
- Responsive design for all device sizes |
|
|
|
## Getting Started |
|
|
|
### Prerequisites |
|
|
|
- Node.js 16.8 or later |
|
- Python 3.8 or later (for data processing) |
|
- Python packages: pandas, numpy |
|
|
|
### Installation |
|
|
|
1. Clone the repository: |
|
|
|
```bash |
|
git clone https://github.com/yourusername/llm-comparison-leaderboard.git |
|
cd llm-comparison-leaderboard |
|
``` |
|
|
|
2. Install dependencies: |
|
|
|
```bash |
|
npm install |
|
``` |
|
|
|
3. Install Python dependencies (if you plan to process data): |
|
|
|
```bash |
|
pip install pandas numpy |
|
``` |
|
|
|
### Using Sample Data |
|
|
|
The repository includes a sample JSON file with placeholder data in `public/llm_comparison_data.json`. You can start the development server right away to see the dashboard with this data: |
|
|
|
```bash |
|
npm run dev |
|
``` |
|
|
|
Visit [http://localhost:3000](http://localhost:3000) to see the dashboard. |
|
|
|
### Processing Your Own Data |
|
|
|
If you have your own data, follow these steps: |
|
|
|
1. Place your CSV data file in the `data` directory: |
|
|
|
```bash |
|
mkdir -p data |
|
cp /path/to/your/pilot_data_n20.csv data/ |
|
``` |
|
|
|
2. Run the data processing script: |
|
|
|
```bash |
|
npm run process-data |
|
``` |
|
|
|
This will: |
|
- Process the CSV data using the Python script |
|
- Generate a JSON file in the `public` directory |
|
- Format the data for the dashboard |
|
|
|
3. Start the development server: |
|
|
|
```bash |
|
npm run dev |
|
``` |
|
|
|
## Project Structure |
|
|
|
- `app/` - Next.js App Router components |
|
- `page.js` - Main page component that loads data and renders dashboard |
|
- `layout.js` - Layout component with metadata and global styles |
|
- `globals.css` - Global styles including Tailwind CSS |
|
- `components/` - React components |
|
- `LLMComparisonDashboard.jsx` - The main dashboard component |
|
- `public/` - Static files |
|
- `llm_comparison_data.json` - Processed data for the dashboard |
|
- `lib/` - Utility functions |
|
- `utils.js` - Helper functions for data processing |
|
- `scripts/` - Data processing scripts |
|
- `process_data.js` - Node.js script for running Python processor |
|
- `process_data.py` - Python script for data processing |
|
|
|
## Building for Production |
|
|
|
To build the application for production: |
|
|
|
```bash |
|
npm run build |
|
``` |
|
|
|
To start the production server: |
|
|
|
```bash |
|
npm run start |
|
``` |
|
|
|
## License |
|
|
|
This project is licensed under the MIT License - see the LICENSE file for details. |