dbsp - Distributed LLM Evaluation Benchmark Server
A distributed benchmark server for evaluating Large Language Models (LLMs) across multiple benchmarks.
Features
- Distributed Evaluation: Support concurrent worker processes
- Multiple Benchmarks: ARC, ETHICS, MMLU-Pro, BiPaR, and more
- Rate Limiting: Token bucket based rate limiting for API calls
- Batch Processing: Process multiple model-benchmark pairs in batch
- Resume Support: Continue interrupted tasks with
--run_id
Installation
pip install dbsp
Or install from source:
pip install -e .
Quick Start
Single Task
# Generate answers and evaluate
dbsp gen_eval -b ARC -m qwen-plus -w 10
Batch Processing
Create a task configuration file tasks.json:
[
{"model": "qwen-plus", "benchmark": "ARC_parquet"},
{"model": "deepseek", "benchmark": "ethics"}
]
Then run:
dbsp batch --config tasks.json -w 10
Resume Interrupted Task
dbsp gen_eval --run_id 20260210-164048-322281
Commands
gen_eval
Generate model answers and optionally evaluate.
dbsp gen_eval [options]
Options:
-b, --benchmark Benchmark name (e.g., ARC, ethics)
-m, --model Model name (e.g., qwen-plus, deepseek)
-w, --worker_nums Number of concurrent workers (default: 6)
--batch_size Batch size (default: 1)
--rate_limit Token bucket fill rate (default: 5.0)
--bucket_capacity Token bucket capacity (default: 20.0)
--limited_test Quick test with first 50 questions
--evaluate Run evaluation after generation
--run_id Resume from run_id
evaluate
Run evaluation on existing results.
dbsp evaluate -b ARC -r 20260210-164048-322281_qwen-plus
list
List available benchmarks or models.
dbsp list benchmark
dbsp list model
batch
Batch process tasks from config file.
dbsp batch --config tasks.json
Project Structure
dbsp/
├── llm/ # LLM model implementations
│ ├── qwen_plus/
│ ├── deepseek/
│ └── ...
├── mep_client/ # Client for generating answers
│ ├── run/
│ └── API/
├── method_server/ # Benchmark implementations
│ ├── ARC_parquet/
│ ├── ethics/
│ ├── BiPaR/
│ └── ...
└── dbsp_cli.py # CLI entry point
Adding New Models
- Create folder under
llm/<your_model/ - Implement
model.pyinheriting fromBaseModel - Create
model_card.json - Register in
llm/config.py
Adding New Benchmarks
- Create folder under
method_server/<benchmark_name>/ - Implement
prepare_ques.py- Prepare questions and golden answers - Implement
eval_script.py- Run evaluation - Create
dataset_card.json
License
MIT License
Metadata
Release files for dbsp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| dbsp-0.1.0.tar.gz | 56.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dbsp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 151.7 kB
Release files / dbsp-0.1.0.tar.gz
| Download URL | dbsp-0.1.0.tar.gz |
|---|---|
| Size | 56.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c9affbc415c9c5f29e6d2bacb8c59d5cc9282f8c107953f886bd4d808708a6b2
|
|
BLAKE2b-256 checksum How to use checksums |
cb443b6a40b6621dc5a3ceda1b90704aa946d2231ede7de3e2d03e4dcd34e7a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.4
|
Release files / dbsp-0.1.0-py3-none-any.whl
| Download URL | dbsp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 95.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
39857d353d2c4418815cc8df0e7e271aa6cafa468d90ff31eaaecda54336a43e
|
|
BLAKE2b-256 checksum How to use checksums |
76214bd6569a5219fa885c8d3d512b452fbbd2e1b6c07ed3941f1b309f576caf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.4
|
Security for dbsp 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.