LoRA Adapters

Small fine-tuned adapters that stack onto a base model already installed on your machine.

Small fine-tuned adapters you load on top of a model you already run locally. A few dozen megabytes each — no new base model to download, no cloud inference, and you can unload one the moment you're done with it.

thl-review-8b

In Training

Teaches a general instruct model to produce structured code review output — severity, location, failure case, fix — instead of prose commentary.

Base
Llama 3.1 8B Instruct
Rank / α
16 / 32
Target
q, k, v, o projections
Size
~42 MB

thl-sql-3b

In Training

Schema-grounded SQL generation for small models. Tuned to refuse rather than hallucinate a column that isn't in the schema you passed.

Base
Qwen 2.5 3B Instruct
Rank / α
8 / 16
Target
attention + MLP
Size
~18 MB

thl-router-1b

Queued

A tiny classifier adapter for the routing prompt above — emits strict JSON at a fraction of the latency of asking a large model to triage.

Base
Llama 3.2 1B Instruct
Rank / α
8 / 16
Target
q, v projections
Size
~9 MB

thl-notes-7b

Queued

Turns lecture transcripts and meeting recordings into structured notes with claims, open questions, and action items kept separate.

Base
Mistral 7B Instruct v0.3
Rank / α
16 / 32
Target
attention
Size
~38 MB

Nothing here is downloadable yet. These are the adapters currently on the bench — the cards go live with weights, an evaluation card, and a licence the moment each one clears its benchmark. Want one of them first, or have a use case we haven't listed? Tell us.

How you'll use them

An adapter is a delta, not a model. You keep the base weights you already pulled and stack the adapter on top at load time — which is why swapping behaviour costs megabytes instead of gigabytes.

Ollama — bake it into a local model
# Modelfile
FROM llama3.1:8b-instruct-q4_K_M
ADAPTER ./thl-review-8b.gguf

ollama create thl-review -f Modelfile
ollama run thl-review
Python — load it with PEFT at runtime
from peft import PeftModel
from transformers import AutoModelForCausalLM

base = AutoModelForCausalLM.from_pretrained("meta-llama/Llama-3.1-8B-Instruct")
model = PeftModel.from_pretrained(base, "./thl-review-8b")

# swap behaviour without reloading the base model
model.load_adapter("./thl-sql-3b", adapter_name="sql")
model.set_adapter("sql")