Views
No views yet
| Metric | Qwen3-32B base | This adapter |
|---|---|---|
| Overall score (0–10) | 4.79 | 7.16 |
| Head-to-head win rate vs base | — | 86% (43W/6L/1T) |
| Brief-constraint adherence | 6.16 | 7.76 |
| Fabricated statistics (per 50 outputs) | 13 | 4 |
| Truncations / format breaks | 12 | 0 |
1from transformers import AutoModelForCausalLM, AutoTokenizer
2from peft import PeftModel
3
4base_id = "Qwen/Qwen3-32B"
5adapter_id = "RYVR/qwen3-32b-b2b-marketing-lora"
6
7tokenizer = AutoTokenizer.from_pretrained(adapter_id)
8model = AutoModelForCausalLM.from_pretrained(base_id, torch_dtype="auto", device_map="auto")
9model = PeftModel.from_pretrained(model, adapter_id)
10
11brief = """Write a personalised ABM email using this brief.
12
13Company: Northwind Logistics, a freight-visibility platform
14ICP: Head of Supply Chain at mid-market importers
15Pain points: blind spots between ports; demurrage fees
16Tone: direct, operator-to-operator
17Constraints: under 130 words; one clear ask
18CTA: a 15-minute lane-visibility audit
19Usable facts: none — no invented statistics."""
20
21messages = [
22 {"role": "system", "content": "You are an expert B2B marketing copywriter."},
23 {"role": "user", "content": brief},
24]
25inputs = tokenizer.apply_chat_template(messages, add_generation_prompt=True,
26 enable_thinking=False, return_tensors="pt").to(model.device)
27outputs = model.generate(inputs, max_new_tokens=700, temperature=0.7, top_p=0.9)
28print(tokenizer.decode(outputs[0][inputs.shape[1]:], skip_special_tokens=True))1vllm serve Qwen/Qwen3-32B \
2 --enable-lora \
3 --lora-modules b2b-marketing=RYVR/qwen3-32b-b2b-marketing-loraCompany, Product, ICP, Pain points, Tone, Constraints (word limits, structure, banned words, required mentions), CTA, and Usable facts (the only numbers the copy may cite — write "none" to get statistics-free copy).r=16, alpha=32, target modules q/k/v/o/gate/up/down_proj