Views
No views yet

git clone https://github.com/SWE-Lego/SWE-Lego.git1conda create -n vllm python=3.12 -y
2conda activate vllm
3pip install vllm1cd SWE-Lego/OpenHands-0.53.0
2conda create -n openhands python=3.12 -y
3conda activate openhands
4conda install -c conda-forge nodejs=24.4.1
5conda install -c conda-forge poetry=2.1.4
6pip install python-dateutil==2.9.0.post0
7poetry run pip install datasets
8make build1cd SWE-Lego/SWE-bench-4.0.4
2conda create -n swebench python=3.12 -y
3conda activate swebench
4pip install -e .1cd SWE-Lego/LLaMA-Factory-0.9.4.dev0
2conda create -n lf python=3.12 -y
3conda activate lf
4
5pip install torch==2.8.0 torchvision==0.23.0 torchaudio==2.8.0 --index-url https://download.pytorch.org/whl/cu128
6pip install -e ".[torch,metrics,deepspeed,liger-kernel]" --no-build-isolation
7
8# install flash-attn
9wget https://github.com/Dao-AILab/flash-attention/releases/download/v2.8.3/flash_attn-2.8.3+cu12torch2.8cxx11abiFALSE-cp312-cp312-linux_x86_64.whl
10pip install flash_attn-2.8.3+cu12torch2.8cxx11abiFALSE-cp312-cp312-linux_x86_64.whl
11
12pip install wandbbash scripts/swe_lego_qwen3_32b/serve_vllm.shbash scripts/swe_lego_qwen3_32b/infer.shbash scripts/swe_lego_qwen3_32b/eval.shLLaMA-Factory-0.9.4.dev0/data1import json
2from datasets import load_dataset
3
4datasets = [
5 {
6 "name": "SWE-Lego/SWE-Lego-Real-Data",
7 "filename": "swe_lego_real_data_resolved_trajectories.json"
8 },
9 {
10 "name": "SWE-Lego/SWE-Lego-Synthetic-Data",
11 "filename": "swe_lego_synthetic_data_resolved_trajectories.json"
12 }
13]
14
15for config in datasets:
16 ds = load_dataset(config["name"], split="resolved")
17 processed_ds = ds.select_columns(["instance_id", "messages"])
18 data_list = processed_ds.to_list()
19
20 with open(config["filename"], "w", encoding="utf-8") as f:
21 json.dump(data_list, f, ensure_ascii=False, indent=4)
22 print(f"Saved {len(data_list)} records to {config['filename']}")1bash scripts/swe_lego_qwen3_8b/sft.sh
2bash scripts/swe_lego_qwen3_32b/sft.shLLaMA-Factory-0.9.4.dev0/examples/train_full/swe_lego_verifier_qwen3_8b.yamlLLaMA-Factory-0.9.4.dev0/examples/train_full/swe_lego_verifier_qwen3_30b_a3b.yamlswe_lego_real_data_trajectories_verifier (from SWE-Lego/SWE_Lego_real_data_Verifier)scripts/swe_lego_verifier_qwen3_8b/sft.shscripts/swe_lego_verifier_qwen3_30b_a3b/sft.sh1bash scripts/swe_lego_verifier_qwen3_8b/sft.sh
2bash scripts/swe_lego_verifier_qwen3_30b_a3b/sft.shSWE-Lego/SWE_Lego_real_data_Verifier) to build data as trajectory + patch + judge prompt.
You can convert raw trajectories with:1python LLaMA-Factory-0.9.4.dev0/tts/convert_trajectories_to_verifier.py \
2 --input /path/to/raw_trajectories.jsonl \
3 --output /path/to/verifier_input.jsonlscripts/swe_lego_verifier_qwen3_8b/infer.shscripts/swe_lego_verifier_qwen3_30b_a3b/infer.sh1bash scripts/swe_lego_verifier_qwen3_8b/infer.sh /path/to/verifier_input.jsonl
2bash scripts/swe_lego_verifier_qwen3_30b_a3b/infer.sh /path/to/verifier_input.jsonl1@misc{swelego,
2 title={SWE-Lego: Pushing the Limits of Supervised Fine-tuning for Software Issue Resolving},
3 author={Chaofan Tao and Jierun Chen and Yuxin Jiang and Kaiqi Kou and Shaowei Wang and Ruoyu Wang and Xiaohui Li and Sidi Yang and Yiming Du and Jianbo Dai and Zhiming Mao and Xinyu Wang and Lifeng Shang and Haoli Bai},
4 year={2026},
5 eprint={2601.01426},
6 archivePrefix={arXiv},
7 primaryClass={cs.SE},
8 url={https://arxiv.org/abs/2601.01426},
9}