Use
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
base_id = "Qwen/Qwen3-14B"
tokenizer = AutoTokenizer.from_pretrained(base_id)
base = AutoModelForCausalLM.from_pretrained(base_id, device_map="auto")
model = PeftModel.from_pretrained(
base, "Om22s/alexandria-qwen3-14b-rightsclean-speaker-attribution"
)
This adapter targets Alexandria's structured attribution prompt, not ordinary
chat. Require one JSON {"n","speaker"} object per input entry and reject
malformed or incomplete responses. The included rightsclean.f16.gguf is a
runtime export for compatible llama.cpp workflows.
Evaluation
Four-book product-window evaluation (temperature 0, batch 25, 4096-token
budget; 768 paired gold rows):
- Base model: 61.7% (474/768)
- This adapter: 73.4% (564/768)
- Paired changes: 137 improved, 52 regressed; exact paired p=5.1e-10
The result is an aggregate measurement from the in-repository evaluator. No
source text, raw model responses, or copyrighted evaluation rows are included.
Training and rights
The training mixture was rights-reviewed and selected from sources with
documented redistribution terms (PDNC, RiQuA, and DraCor prose). This release
contains the adapter weights and recipe summary only; it does not redistribute
the source datasets. Review each source's current license and the base model's
terms before redistribution or commercial use.
LoRA recipe: rank 16, alpha 32, dropout 0.05, two epochs, learning rate
1e-4, maximum sequence length 2048, seed 20260914.
Limitations
Performance is measured on the Alexandria four-book gold fixture and may not
generalize to other genres, languages, prompts, or roster construction rules.
The adapter does not provide speaker diarization, voice synthesis, or a
general-purpose conversational model.