Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DataChef: Cooking Up Optimal Data Recipes for LLM Adaptation via Reinforcement Learning

🤗 HF Models | 🚀 HF Demo | 📄 Paper

Welcome to the DataChef Project! Try our demo at 🔥Huggingface!

We will continue to update. Please stay tuned!

What is DatChef?

x

DataChef is an LLM for automatic data recipes generation. Given a target task and raw data sources, it aims to generate a data recipe, including an executable pipeline and the resulting training dataset, for LLM adaptation.

🔥News

  • [02/2026] DataChef Paper is released! Model checkpoint is released! Huggingface demo is online!

Performance

x

Installation

conda create -n datachef python=3.12
conda activate datachef
pip install -e .

Configuration

  1. Initialize Configuration: Copy the example file and configure the endpoints and model names (replace any placeholders):

    cp datachef.config.example.json datachef.config.json
  2. Key Configuration Fields (refer to datachef.config.example.json for structure):

    • default_base_url, default_api_key: Fallback credentials used for all models if not overridden.
    • planner_default_model, coder_default_model: Model IDs for the planning and coding stages (Default: DataChef-32B).
    • model_endpoints: Per-model overrides containing {base_url, api_key, max_concurrency}. These are used by the planner, coder, verifier, and AIDP tools.
    • code_verifier_python_bin: The Python interpreter used to execute generated scripts. Can be set to the current environment's Python path.
    • data_verifier: Model and runtime parameters. The endpoint resolves via model_endpoints or defaults. Recommended: gpt-oss-120b.
    • aidp: Toolbox used during code execution. Supports model, temperature, top_p, max_tokens, and max_concurrency. Recommended: qwen3-next-80b.
  3. Configuration Loading Precedence: DATACHEF_CONFIG (env) -> datachef.config.json (current directory) -> datachef.config.json (repo root).

  4. Environment Variable Overrides: The following variables take precedence over the configuration file: DATACHEF_DEFAULT_BASE_URL, DATACHEF_DEFAULT_API_KEY (or OPENAI_API_KEY), DATACHEF_PLANNER_MODEL, DATACHEF_CODER_MODEL, DATACHEF_CODE_VERIFIER_PYTHON_BIN.

Input format

data/input/test.jsonl shows the expected shape. Each line is a JSON object with:

  • id (int)
  • task: description and a benchmark block (name, description)
  • datasets: list of HF dataset candidates with preview examples

Quick start

Generate plans, code, and run verifiers on the bundled sample:

datachef-eval --config test 

Outputs (for config=test):

  • Plans: data/plan/test/<plan_model>-<code_model>.jsonl
  • Generated code: data/code/code-by-<code_model>-test/<plan_model>/run*/sample*/<id>/syn_code.py
  • Code execution reports: data/code-verifier/test/run*/execution-report-*.jsonl
  • Data verification scores: data/data-verifier/test/score-*.json

Useful flags:

  • --timeout (code execution), --max_workers (parallelism), --parse_reasoning (return LLM reasoning)

Citation

If you find the content of this project helpful, please cite our paper as follows:

@article{chen2026datachef,
  title={DataChef: Cooking Up Optimal Data Recipes for LLM Adaptation via Reinforcement Learning},
  author={Chen, Yicheng and Ma, Zerun and Xie, Xinchen and Li, Yining and Chen, Kai},
  journal={arXiv preprint arXiv:2602.11089},
  year={2026}
}

About

[EMNLP26 Findings] Official repository for DataChef: Cooking Up Optimal Data Recipes for LLM Adaptation via Reinforcement Learning

Topics

Resources

Stars

27 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages