LocalLegal-27B / README.md
SwarmandBee's picture
Upload README.md with huggingface_hub
b0ea721 verified
|
Raw
History Blame Contribute Delete
5.54 kB
---
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](https://huggingface.co/SwarmandBee)** β€” 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
```bash
# 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
```bash
./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`](https://huggingface.co/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}
}
```