A 2B-parameter language model that reads OBD-II sensor data, names the likely fault, gives the cheapest plausible fix (with parts cost + DIY time), and flags the specific upsell traps mechanics attach to that fault.
Blind Claude Opus 4.7 judge, n=100 held-out cases. Answers were presented in randomized A/B order without model names:
The 3.2 GB Q4_K_M phone-target variant scores 75.3% on the same benchmark.
1from huggingface_hub import hf_hub_download
2from llama_cpp import Llama
3
4gguf = hf_hub_download(
5 "MindFreakGamer/gemma-4-E2B-pocket-mechanic-GGUF",
6 "pocket-mechanic-q8_0.gguf",
7)
8llm = Llama(model_path=gguf, n_ctx=4096, n_gpu_layers=-1, verbose=False)
9
10SYSTEM = (
11 "You are Pocket Mechanic, a trusted mechanic in the driver's pocket. You read "
12 "OBD-II sensor data and explain car problems in plain English. Always answer in "
13 "this structure: 1. WHAT'S HAPPENING 2. ROOT CAUSE 3. WHAT TO DO (cheapest "
14 "fix first, with cost and time) 4. WATCH OUT FOR (mechanic upsell traps). Be "
15 "honest, specific, and protect the driver's wallet."
16)
17
18USER = """VEHICLE: 2014 Toyota Camry, 2.5L I4, 128,000 mi
19DRIVE WINDOW: last 2.5 min, context: city
20
21SENSOR SUMMARY (full window):
22coolant_temp_c mean=103.21 std=4.62 slope/min=+6.40 min=92 max=116
23... (full PID summary)
24
25ACTIVE DTCs: P0217
26PREDICTOR OUTPUT: overheating: 99%, cooling_fan_failure: 1%
27
28DRIVER ASKS: What do I do, the temp gauge is climbing!"""
29
30for chunk in llm.create_chat_completion(
31 [{"role": "system", "content": SYSTEM},
32 {"role": "user", "content": USER}],
33 max_tokens=700, temperature=0.2, top_p=0.9, stream=True,
34):
35 print(chunk["choices"][0]["delta"].get("content", ""), end="", flush=True)
Quantized to GGUF (Q4_K_M, Q8_0) via
llama.cpp after merging the LoRA into fp16. The fp16 merged weights live at
MindFreakGamer/gemma-4-E2B-pocket-mechanic; the raw LoRA adapter at
MindFreakGamer/gemma-4-E2B-pocket-mechanic-lora.
The training data is dataset-licensed separately (CC BY-NC 4.0); see the dataset card.
1@misc{pocket-mechanic-2026,
2 title = {Pocket Mechanic: Gemma 4 E2B fine-tuned for offline OBD-II diagnosis},
3 author = {Abenanth Gurunathan},
4 year = {2026},
5 url = {https://github.com/small-hack-huggingface/obd-intelligence},
6 note = {Hugging Face Build Small Hackathon, Backyard AI track}
7}