LocalLegal-27B / README.md
SwarmandBee's picture
Upload README.md with huggingface_hub
b0ea721 verified
|
Raw
History Blame Contribute Delete
5.54 kB
metadata
license: apache-2.0
base_model: Qwen/Qwen3.6-27B
language:
  - en
pipeline_tag: text-generation
library_name: gguf
tags:
  - legal
  - consumer-protection
  - fdcpa
  - fcra
  - letter-writing
  - grant-writing
  - gguf
  - llama-cpp
  - ollama
  - qwen3
  - lora

LocalLegal-27B

A calm, dignified consumer-rights letter-writer & grant writer. It organizes the facts a person gives it and drafts clear, statute-grounded documents they can review, sign, and send themselves β€” debt-validation and cease-contact letters (FDCPA), credit-report disputes and method-of-verification letters (FCRA), goodwill and medical-billing letters, identity-theft blocks, and grant/assistance narratives.

This is document preparation, not legal advice. LocalLegal is not a lawyer, does not give legal advice, and never predicts the outcome of a case. It states what a statute says and what a letter requests β€” and hands anything past the letter stage (lawsuits, garnishment, liens, court dates) to free legal aid or a licensed attorney.

Built by Swarm & Bee β€” the brain behind the LocalLegal "write + send certified from home" flow.


πŸ† It beat base β€” decisively, on both domains

Stage-5 gate: held-out, per-domain, deterministic evaluation. Teacher-forced cross-entropy / perplexity on chat-templated eval, base vs cooked, same tokenizer & template, N=400/domain, seed 1117, seq 4096, bf16 on an RTX PRO 6000. No LLM-as-judge β€” a number anyone can re-derive.

Domain Base ppl LocalLegal-27B ppl Ξ” Base CE β†’ Cooked CE
Legal (FDCPA/FCRA letters) 16.662 2.058 βˆ’87.65% 2.813 β†’ 0.722
Grant (proposal narratives) 3.250 2.022 βˆ’37.80% 1.179 β†’ 0.704

Beat base on both. Killed domains: none. Cooked CE (0.70–0.72) matches the training landing (0.64–0.77) β†’ coherent, no overfit. The legal gain exceeds our DiabeticAnchor-27B reference (+57%). The 44%-share, 9%-truncation grant tail passed clean β€” not undercooked.

Receipts (deterministic, re-runnable): beat_base_27b.py Β· beat_base_27b.log Β· beat_base_27b_verdict.json.


πŸ”§ Usage

This repo ships a Q4 GGUF (~16 GB) β€” runs on llama.cpp / Ollama / LM Studio. Qwen3.6 is a thinking model, so the chat template prefills an empty <think> block; the included Modelfile handles this for you.

Ollama

# with the included Modelfile (carries the template + system prompt + params)
ollama create locallegal-27b -f locallegal-27b.Modelfile
ollama run locallegal-27b "Draft an FDCPA debt-validation letter. Collector: Midland Credit. Account #4402, $1,284 medical debt I don't recognize."

llama.cpp

./llama-cli -m locallegal-27b-q4.gguf -c 8192 --temp 0.6 --top-p 0.9 \
  -p "<your chat-templated prompt>"

Recommended sampling: temperature 0.6, top_p 0.9, num_ctx 8192. Stop tokens <|im_start|> / <|im_end|> (ChatML).

System prompt (its identity β€” every letter includes header, RE: line, statute cite, specific request, response window, signature block)

The model is trained to the LocalLegal persona: calm, factual, never shaming, uses the verbs organize / draft / prepare / review / track, and refuses to say "legal advice," "sue them," "you'll win," or "guaranteed." Full system prompt ships in the Modelfile.


🍳 How it was cooked

  • Base: Qwen/Qwen3.6-27B (Apache-2.0) β€” hybrid Gated-DeltaNet + Gated-Attention arch, thinking model.
  • Method: LoRA r32 / Ξ±16 on attn+mlp Β· LR 1e-5 Β· cosine Β· seq 4096 Β· bf16 Β· Unsloth + TRL. Clean 16-bit merge β†’ Q4 GGUF.
  • Corpus: 78,231 train / 2,500 eval, curated down from ~340K raw rows via cross-domain dedup, eval carve-out, hash-scrub of contaminants, and near-dup pruning. Split Legal 57.8% / Grant 42.2% (natural balance, zero synthetic upsampling). Per-domain true holdout eval (legal 1,500 / grant 1,000).
  • Loss: 2.156 β†’ 0.768 (βˆ’64%), smooth monotone, grad_norm 0.20 β€” textbook curve, no spikes/NaN, no overcook.
  • Rig: SwarmRails (owned) Β· 1Γ— RTX PRO 6000 Blackwell 96 GB Β· 350 W thermal cap Β· 45.7 h wall. Sovereign compute β€” cooked on our own iron.
  • Discipline: full canary-then-cook (5-stage senior-hack review) β€” beat-base-or-kill, per domain, no blended half-truths.

πŸ“ Files

  • locallegal-27b-q4.gguf β€” Q4 quantized weights (~16 GB)
  • locallegal-27b.Modelfile β€” Ollama template + system prompt + params

πŸ”’ Defendable

Every claim here has a receipt: deterministic per-domain beat-base eval (no LLM judge), monotone loss curve, hash-verified corpus, and a full cook flightsheet. Show the math, verify it yourself.

βš–οΈ Scope & safety

Document preparation only. Not legal advice, not a lawyer, no outcome predictions. Anything beyond the letter stage β†’ free legal aid (LawHelp.org) / a licensed consumer-protection attorney / your state Attorney General. As a fine-tune of Qwen3.6-27B, it inherits the base model's Apache-2.0 terms and general LLM limitations (it can be wrong β€” a human reviews and signs every letter).

Citation

@misc{locallegal27b2026,
  title  = {LocalLegal-27B: a statute-grounded consumer-rights letter-writer},
  author = {Swarm and Bee},
  year   = {2026},
  note   = {LoRA fine-tune of Qwen3.6-27B; deterministic per-domain beat-base eval},
  url    = {https://huggingface.co/SwarmandBee/LocalLegal-27B}
}