JeffYang52415's picture
feat: to huggingface space
752aaa2 unverified
|
raw
history blame
3.26 kB
---
title: LLMEval Dataset Parser
emoji:
colorFrom: green
colorTo: gray
sdk: docker
pinned: false
license: mit
short_description: A collection of parsers for LLM benchmark datasets
---
# LLMDataParser
**LLMDataParser** is a Python library that provides parsers for benchmark datasets used in evaluating Large Language Models (LLMs). It offers a unified interface for loading and parsing datasets like **MMLU**, **GSM8k**, and others, streamlining dataset preparation for LLM evaluation. The library aims to simplify the process of working with common LLM benchmark datasets through a consistent API.
## Features
- **Unified Interface**: Consistent `DatasetParser` for all datasets.
- **LLM-Agnostic**: Independent of any specific language model.
- **Easy to Use**: Simple methods and built-in Python types.
- **Extensible**: Easily add support for new datasets.
- **Gradio**: Built-in Gradio interface for interactive dataset exploration and testing.
## Installation
### Option 1: Using pip
You can install the package directly using `pip`. Even with only a `pyproject.toml` file, this method works for standard installations.
1. **Clone the Repository**:
```bash
git clone https://github.com/jeff52415/LLMDataParser.git
cd LLMDataParser
```
1. **Install Dependencies with pip**:
```bash
pip install .
```
### Option 2: Using Poetry
Poetry manages the virtual environment and dependencies automatically, so you don't need to create a conda environment first.
1. **Install Dependencies with Poetry**:
```bash
poetry install
```
1. **Activate the Virtual Environment**:
```bash
poetry shell
```
## Available Parsers
- **MMLUDatasetParser**
- **MMLUProDatasetParser**
- **MMLUReduxDatasetParser**
- **TMMLUPlusDatasetParser**
- **GSM8KDatasetParser**
- **MATHDatasetParser**
- **MGSMDatasetParser**
- **HumanEvalDatasetParser**
- **HumanEvalDatasetPlusParser**
- **BBHDatasetParser**
- **MBPPDatasetParser**
- **IFEvalDatasetParser**
- **TWLegalDatasetParser**
- **TMLUDatasetParser**
## Quick Start Guide
Here's a simple example demonstrating how to use the library:
```python
from llmdataparser import ParserRegistry
# list all available parsers
ParserRegistry.list_parsers()
# get a parser
parser = ParserRegistry.get_parser("mmlu")
# load the parser
parser.load() # optional: task_name, split
# parse the parser
parser.parse() # optional: split_names
print(parser.task_names)
print(parser.split_names)
print(parser.get_dataset_description)
print(parser.get_huggingface_link)
print(parser.total_tasks)
data = parser.get_parsed_data
```
We also provide a Gradio demo for interactive testing:
```bash
python app.py
```
## Adding New Dataset Parsers
To add support for a new dataset, please refer to our detailed guide in [docs/adding_new_parser.md](docs/adding_new_parser.md). The guide includes:
- Step-by-step instructions for creating a new parser
- Code examples and templates
- Best practices and common patterns
- Testing guidelines
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
## Contact
For questions or support, please open an issue on GitHub or contact [[email protected]](mailto:[email protected]).