python-vibe

ask, test, fix, add

GitHub

Hub models for python-vibe

Question. Which Hugging Face models should python-vibe run, and which weights are worth a later LoRA?

Answer. Keep llama3.1:8b for daily work. Keep the 0.5B sidecar for demos only. Do not train more 0.5B. The 1.5B and 1B already on this laptop do not parse Action:. OpenCoder 8B and SWE-agent-LM 7B are not ollama pull tags; import the Q4_K_M GGUF, then measure. The only later LoRA base in-tree is mlx-community/Qwen2.5-Coder-7B-Instruct-4bit, after ~2k clean traces. Pull qwen2.5-coder:7b only to measure it against the 8B log.

Related: fine-tune or harness · model lanes · everyday laptop.

On this laptop today

Ollama / Hub id Size Role
llama3.1:8bmeta-llama/Llama-3.1-8B-Instruct 4.9 GB Everyday default. Gated Llama 3.1 licence.
qwen2.5-coder:0.5bQwen/Qwen2.5-Coder-0.5B-Instruct 397 MB Smoke / --tiny. Apache-2.0.
YauhenBichel/python-vibe-0.5b adapters Style prior on the 0.5B. Apache-2.0.
qwen2.5-coder:1.5bQwen/Qwen2.5-Coder-1.5B-Instruct 986 MB On disk. No Action: parse in the probes below.
llama3.2:1bmeta-llama/Llama-3.2-1B-Instruct 1.3 GB On disk. No Action: parse.
qwen3coder 30B-class 18 GB Already timed out at the 180s Ollama cap.
qwen2.5-coder:7b 4.7 GB On disk. Same-night daily 7 / 9. Do not switch.
deepseek-coder:6.7b 3.8 GB On disk. Empty VRAM daily: first clamp passed, second 180s. Incomplete.
starcoder2:7b 4.0 GB On disk. One-word generate hit 180s. Completion-style.
codellama:7b-python 3.8 GB On disk. One-word generate hit 180s.
opencoder:8b 4.7 GB On disk. One-word generate hit 180s.
swe-agent-lm:7b 4.7 GB On disk. First helper chat 14.5 s. Daily first clamp still 180s.

Hub weights that are not an Ollama tag

Example. 5 September 2026. Two small code models this laptop can hold, that ollama pull cannot see. Q4_K_M is about 4.7 GB each, inside the 11–12 GB this machine leaves for a model.

Local tag Source GGUF Licence
opencoder:8b infly/OpenCoder-8B-Instruct bartowski/OpenCoder-8B-Instruct-GGUF Q4_K_M INF
swe-agent-lm:7b SWE-bench/SWE-agent-LM-7B mradermacher/SWE-agent-LM-7B-GGUF Q4_K_M Apache-2.0

OpenCoder is a code-instruct 8B. SWE-agent-LM is Qwen2.5-Coder-7B-Instruct plus about 5k traces from their agent. Neither weight speaks python-vibe Action: / Find:. Importing them does not make them the default. It makes --model work so a later daily table can score them.

python3 scripts/weights/import_hf_ollama.py --list
python3 scripts/weights/import_hf_ollama.py --name opencoder
python3 scripts/weights/import_hf_ollama.py --name swe-agent-lm
python-vibe --model opencoder:8b run "add a function clamp and a unit test"

--all downloads both. --no-create stops after the GGUF. The script writes FROM the file and calls ollama create. The harness still sends the agent system prompt on each turn; the Modelfile does not repeat it.

Result. Both tags are on this laptop: opencoder:8b and swe-agent-lm:7b. A clean cold first turn on SWE-agent-LM was 38 s. Empty VRAM daily still hit 180s on the first clamp generate. A follow-up ok while /api/ps listed the tag hit 60s. After /api/ps was empty again, the same prompt finished in 6.8 s. The real first helper chat then finished in 14.5 s; daily first clamp on that loaded tag hit 180s. OpenCoder still misses a one-word generate. Write-tests was 3 / 3 with no model (harness AAA bind). That is not a score. Do not switch the default.

What else fits this laptop

This machine is an Apple M3 Pro with 18 GB unified memory. About 11–12 GB is left for a model. A 7B–8B Q4_K_M file is about 4–5 GB and runs. A 14B already caused swap. A 30B timed out at 180 seconds. Do not pull those two.

Looked up on Hugging Face, 5 September 2026. Downloads are not a score for this helper.

Already on the measure list

These write Python. None of them were trained on python-vibe Action: / Find:.

Weight Size class How to run Notes
Qwen/Qwen2.5-Coder-7B-Instruct 7B, Apache-2.0 ollama pull qwen2.5-coder:7b Daily 7 / 9. Official GGUF also exists.
deepseek-ai/deepseek-coder-6.7b-instruct 6.7B ollama pull deepseek-coder:6.7b On disk. Daily not in yet.
bigcode/starcoder2-7b 7B, OpenRAIL ollama pull starcoder2:7b On disk. One-word generate hit 180s. Completion-style.
codellama/CodeLlama-7b-Python-hf 7B ollama pull codellama:7b-python On disk. One-word generate hit 180s.
infly/OpenCoder-8B-Instruct 8B, INF import_hf_ollama.py --name opencoder On disk as opencoder:8b. One-word generate hit 180s.
SWE-bench/SWE-agent-LM-7B 7B, Apache-2.0 import_hf_ollama.py --name swe-agent-lm On disk as swe-agent-lm:7b. First helper chat 14.5 s. Daily first clamp 180s.

Fits, measure later

Do not download these until the table above has scores. A 9B Q4 is about 5.5 GB — tight, but inside 12 GB.

Weight Why it is interesting Why wait
OpenHands/openhands-lm-7b-v0.1 (MIT). GGUF: bartowski/all-hands_openhands-lm-7b-v0.1-GGUF Same 7B coder family, trained on SWE-Gym for their agent. Same warning as SWE-agent-LM. Import after that one has a daily score.
ByteDance-Seed/Seed-Coder-8B-Instruct (MIT). GGUF: unsloth/Seed-Coder-8B-Instruct-GGUF New code-instruct 8B. No Ollama library tag. Same import path as OpenCoder. Not measured.
ibm-granite/granite-8b-code-instruct-4k (Apache-2.0). GGUF: ibm-granite/granite-8b-code-instruct-4k-GGUF Code + commits. Official GGUF. Older 4k context. Measure only if the 7B/8B table is still a tie.
01-ai/Yi-Coder-9B-Chat (Apache-2.0). GGUF: bartowski/Yi-Coder-9B-Chat-GGUF Strong code chat. Q4 about 5.5 GB. Larger than the 7B pack. Last, not first.

Do not pull for this laptop

Weight Why not
qwen2.5-coder:14b (already on disk, 9 GB) Caused swap here.
qwen3coder / 30B-class (18 GB) Timed out at 180 seconds.
DeepSeek-Coder-V2-Lite (~16B), Codestral 22B, Qwen2.5-Coder-32B Over the 11–12 GB room. Use cloud weights.
Random 0-download “function calling” LoRAs Wrong schema. Not this Action: line.

Hub lifetime downloads (overview, 29 Aug 2026) are not a quality score for this harness. Qwen2.5-Coder-0.5B-Instruct has 14.2M downloads and still failed held-out vibe 0/4 here. Llama-3.1-8B-Instruct has 180M downloads and is already the everyday brain via Ollama.

First Action probes, 29 Aug 2026

Same builder as the real loop (scripts/measure/skill_probe.py), fixture eval/fixtures/add_feature_pkg. A score of 1 means the first parsed Action was the intended one (done on a question, patch + Append: on add).

Task 0.5B (earlier) 1B llama3.2 1.5B coder 8B
what does add return? 0 (echo / no Action) 0 — prose answer, no Action: 0 — prose answer, no Action: 1 on the older listen_addr set
add multiply + test 0 0 — wrote patch pkg/mathy.py without Action: 0 — wrote # patch, not Action: patch 1 (patch + Append:)

The 1.5B knew the file and the missing function. It did not speak the protocol. That is why it cannot be the default, and why a LoRA on 30 seed rows is the wrong next spend: the small models fail the first line.

Hub ids that fit this repo

Lane Hub id How to run Do it?
Everyday meta-llama/Llama-3.1-8B-Instruct ollama pull llama3.1:8b Keep
Sidecar Qwen/Qwen2.5-Coder-0.5B-Instruct + YauhenBichel/python-vibe-0.5b --tiny / serve.py Demos only
Measure next Qwen/Qwen2.5-Coder-7B-Instruct (21.4M downloads, Apache-2.0) ollama pull qwen2.5-coder:7b then scripts/run/demo.py --model qwen2.5-coder:7b Keep only if independent file checks beat the 8B log
On disk, unusable as default Qwen/Qwen2.5-Coder-1.5B-Instruct already pulled Do not switch the default
Optional later probe microsoft/Phi-4-mini-instruct (3.84B, MIT, 8.8M downloads) not pulled Different tokenizer. Measure before any LoRA
Measure, Hub GGUF infly/OpenCoder-8B-Instruct import_hf_ollama.py --name opencoder then --model opencoder:8b Import. Do not switch until a daily table beats 8B
Measure, Hub GGUF SWE-bench/SWE-agent-LM-7B import_hf_ollama.py --name swe-agent-lm then --model swe-agent-lm:7b Import. Their agent traces, not this loop

Later LoRA bases

Hub id Why it is the one in-tree Tune now?
mlx-community/Qwen2.5-Coder-7B-Instruct-4bit configs/python-vibe-8b.yaml. Apache-2.0. Same family as the published 0.5B. Later. After ~2k --record turns the oracles already accept.
mlx-community/Qwen2.5-Coder-0.5B-Instruct-4bit Current train.py base No. Overfit after step 100.
mlx-community/Qwen2.5-Coder-1.5B-Instruct-4bit Mid sidecar if it ever parses Action: No until a probe returns Action:. Today it does not.

Publish kit adapters on Qwen2.5-Coder (Apache-2.0). Running Llama 3.1 8B through Ollama is fine. Do not publish a Llama-derived LoRA as the official python-vibe weight without following the Llama 3.1 licence.

Do not

Order of work: oracles on the 8B this week; import the two Hub GGUFs when you want a download that ollama pull cannot see; optional 7B compare; a 14B–70B only through cloud weights; 7B LoRA only after clean traces.