cc-coder / README.md
minecartchris's picture
cc-coder v2: iteration-9 QLoRA adapter (74% clean-run on everyday CC tasks, emulator-validated training loop)
b94988d verified
|
Raw
History Blame Contribute Delete
3.31 kB
---
base_model: unsloth/Qwen2.5-Coder-3B-Instruct-bnb-4bit
library_name: peft
license: other
license_name: qwen-research
license_link: https://huggingface.co/Qwen/Qwen2.5-Coder-3B-Instruct/blob/main/LICENSE
language:
- en
tags:
- lora
- qlora
- computercraft
- cc-tweaked
- minecraft
- lua
- code
- unsloth
pipeline_tag: text-generation
---
# cc-coder β€” a CC: Tweaked (ComputerCraft) Lua coding model
A QLoRA adapter for **Qwen2.5-Coder-3B-Instruct** specialized in writing
[CC: Tweaked](https://tweaked.cc) Lua programs for Minecraft β€” turtles,
peripherals, rednet, monitors, and the wider CC library ecosystem β€” while
retaining general programming ability.
Trained entirely on a single RTX 5060 (8GB) using
[Unsloth](https://github.com/unslothai/unsloth), and iterated against an
**executable benchmark**: every evaluation generation is run inside a real
[CraftOS-PC](https://www.craftos-pc.cc/) emulator with syntax + runtime
checking, and every hand-written training example was validated the same
way before it was allowed into the dataset.
## Evaluation (executable, in-emulator)
70 held-out prompts; a pass = the generated program parses **and** runs
cleanly in CraftOS-PC (with stub turtle API and installed community libs):
| Metric | Training-loop start (iter 1) | This model (iter 9) |
|---|---|---|
| Everyday CC tasks (50 prompts, clean-run %) | 44% | **74%** |
| Full set incl. library tasks (70 prompts) | β€” | **60%** |
| Syntax-valid generations | 94% | **97%** |
(3 of the 20 library prompts are unwinnable in the harness β€” broken
vendored dependency, internet-requiring font, nonexistent module β€” so the
effective library ceiling is 17/20.)
## Training data
- The CC: Tweaked ROM, official docs, and ~130 community repositories
(Basalt, Pine3D, PixelUI, Opus OS, artist, ccryptolib, metis, and many
more), each file validated in the emulator before inclusion; licenses of
source repos include MPL-2.0, MIT, and LicenseRef-CCPL
- 112 hand-written, emulator-validated canonical examples targeting
observed failure modes (nil-guards, yield-correct event loops, exact API
signatures, library `require` idioms)
- ~5,000 general programming samples (Magicoder-OSS-Instruct) to retain
non-Lua skills
## Usage
With PEFT / transformers (the adapter also loads onto the full-precision
`Qwen/Qwen2.5-Coder-3B-Instruct` base):
```python
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer
base = AutoModelForCausalLM.from_pretrained("unsloth/Qwen2.5-Coder-3B-Instruct-bnb-4bit")
model = PeftModel.from_pretrained(base, "minecartchris/cc-coder")
tokenizer = AutoTokenizer.from_pretrained("minecartchris/cc-coder")
```
Prompt in plain chat format, e.g. *"Write a CC: Tweaked turtle program
that digs a 1x2 tunnel 16 blocks long and returns home."*
A GGUF build (q4_k_m, runs in Ollama / LM Studio on ~2GB) is planned as a
companion repo.
## Limitations
- 3B parameters: logic on complex multi-step tasks can be wrong even when
the code runs; always review before letting a turtle loose on your base
- Library coverage (Basalt, Pine3D, etc.) is functional but weaker than
vanilla-API coverage
- Inherits the Qwen Research license from its base model (non-commercial
restrictions apply β€” see license link)