LoRA fine-tuned Qwen2.5-1.5B-Instruct for pull request code review.
Default adapter: toastcoder/pr-review-qwen-lora
pr-assist/
├── src/
│ ├── inference.py # CLI and library API for review generation
│ ├── train.py # LoRA fine-tuning script
│ ├── prompts.py # PR prompt templates
│ └── chunking.py # Split large diffs by file
├── scripts/
│ ├── create_subset.py
│ └── verify_adapter.py
└── notebooks/ # Exploratory training notebooks
Legacy experiments and local checkpoints live under archive/.
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtInteractive mode:
python -m src.inferenceReview a pull request from flags:
python -m src.inference \
--title "Add JWT auth middleware" \
--description "Protect user routes with JWT tokens." \
--diff-file path/to/changes.diffReview a large diff in file chunks:
python -m src.inference \
--title "Refactor auth module" \
--description "Split auth into middleware and helpers." \
--diff-file path/to/large.diff \
--chunkPipe a full prompt on stdin:
cat prompt.txt | python -m src.inferenceCreate a small local dataset:
python scripts/create_subset.py --size 1000 --output data/processed/train_small.jsonlFine-tune LoRA:
python -m src.train \
--data-files data/processed/train_small.jsonl \
--output-dir models/pr-assist-qwenpython scripts/verify_adapter.py