File size: 2,635 Bytes
20e666e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
# 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.