Model details
Table with columns: Item, Value| Item | Value |
|---|
| Developed by | PresenceAI |
| Series | Presence Muses |
| Release | v1.0 (GA) |
| Model type | LoRA adapter (PEFT), DPO |
| Training stage | Direct Preference Optimization (DPO) |
| Base model | Qwen/Qwen3.8-27B |
| Languages | English, Chinese |
| License | Apache-2.0 |
| Adapter rank | r = 32, alpha = 32, dropout = 0.0 |
| Target modules | Attention and MLP projections matched by the PEFT regex in adapter_config.json |
Model lineage
Qwen/Qwen3.8-27B ──DPO──▶ Erato-27B-DPO-LoRA-v1.0 (this repository)
Initialized directly from the base model and aligned with DPO. No intermediate checkpoint or upstream adapter is required — load this adapter on Qwen/Qwen3.8-27B as shown below. The base weights are not included in this repository.
Intended use
- Preference-aligned multi-turn roleplay and companion-style conversation.
- Tool-calling assistants that emit a
send_message call.
Out of scope: factual question answering, medical / legal / financial advice, high-stakes decision making.
Training
- Method: Direct Preference Optimization (DPO) with LoRA.
- Preference data: 6,063 pairs derived from 2,021 conversation contexts. The
chosen response is a human-written reply; rejected is a model-generated alternative. The preference data is not released.
- LoRA: r = 32, alpha = 32, dropout = 0.
- Training framework: TRL / PEFT (see
adapter_config.json for target modules).
The adapter package does not include a complete DPO training-argument dump. Refer to the upstream base model requirements when reproducing training.
Evaluation
No automatic benchmark or human preference result is included in this release. Evaluate on your own held-out conversations before deployment.
Requirements
The base model uses the Qwen3.5 architecture (Qwen3_5ForConditionalGeneration). Use a recent Transformers release that supports it (transformers >= 5.16 in our deployment) and a compatible PEFT version.
For vLLM tool-calling, the deployment used the qwen3_xml tool-call parser.
Usage
from transformers import AutoModelForCausalLM, AutoTokenizerfrom peft import PeftModel base_id = "Qwen/Qwen3.8-27B"adapter_id = "PresenceAI/Erato-27B-DPO-LoRA-v1.0" tokenizer = AutoTokenizer.from_pretrained(base_id)model = AutoModelForCausalLM.from_pretrained( base_id, torch_dtype="bfloat16", device_map="auto")model = PeftModel.from_pretrained(model, adapter_id)model.eval()
vLLM
vllm serve Qwen/Qwen3.8-27B \ --enable-lora --max-lora-rank 32 \ --lora-modules erato=PresenceAI/Erato-27B-DPO-LoRA-v1.0 \ --enable-auto-tool-choice --tool-call-parser qwen3_xml
Use the tokenizer and chat_template.jinja included in this repository to keep the prompt and tool-call format consistent with training.
Limitations
- Trained for roleplay/companion conversation; may be stylized or inappropriate outside that domain.
- May reproduce patterns or content from preference data. The data is not released; deploy with privacy and safety filters.
- No task-level benchmark or safety evaluation is included. Treat this as an experimental adapter.
- The base model's limitations and license terms continue to apply.
License
The adapter is released under the Apache License 2.0. The base model Qwen/Qwen3.8-27B is Apache-2.0. See LICENSE and NOTICE.
Citation
@misc{presenceai_erato_27b_dpo_lora_v1, title = {PresenceAI Erato-27B-DPO-LoRA v1.0: roleplay and tool-calling chat}, author = {PresenceAI}, year = {2026}, note = {LoRA adapter, Apache-2.0}}