aimeri/spoomplesmaxx-cardmaker-v2
spoomplesmaxx-cardmaker-v2
A full-parameter fine-tune of `aimeri/Ministral-3-14B-Base-2512-text` (the text-only export of `mistralai/Ministral-3-14B-Base-2512`) that turns a short, open-ended prompt into a complete SillyTavern character card. Give it a concept, an archetype, a name and a few constraints, or just a one-liner, and it generates a full V2/V3-style card (description, personality, scenario, first message, example messages, and sometimes a lorebook). This release is training checkpoint ckpt-569.
Model Details
- Developed by: aimeri
- Base model: `aimeri/Ministral-3-14B-Base-2512-text`, the language model of `mistralai/Ministral-3-14B-Base-2512` with the vision tower removed (Apache 2.0)
- Language: English
- Finetuned from a base (not instruct) checkpoint so output is the card itself, with no assistant-style preamble, disclaimers, or refusals.
- Chat template: ChatML (
<|im_start|>= id 20,<|im_end|>= id 21 and end-of-sequence), claimed from two unused reserved slots of the Tekken vocabulary; no vocabulary resize. - License: Apache 2.0
Uses
Direct Use
Generating SillyTavern-compatible character cards on demand from a natural-language request. The intended workflow is "describe a character, get a card," with the card output piped through a structural validator before import.
Out-of-Scope Use
This is a single-turn card generator, not a roleplay or chat model. The assistant turn is a static card definition, not a conversation. It is not intended for multi-turn roleplay, as a general-purpose assistant, or for factual question answering.
How to Get Started
<TBD>
Training Details
Procedure
Full-parameter supervised fine-tuning (no LoRA) with the Hugging Face Trainer. Each row of `aimeri/st-characters-alpaca-v2` became one ChatML exchange: the instruction (plus input when present) as the user turn and the card as the assistant turn, with no system prompt. Loss was computed on the assistant (card) completion only.
- Weights, gradients and activations in bf16; optimizer states in 8-bit (torchao
AdamW8bit) with bf16 stochastic rounding on the weight update, so sub-ULP updates are not lost to round-to-nearest. - Chunked cross-entropy over the 131k vocabulary (logits never fully materialised) and gradient checkpointing.
- Batch size 1 with no packing or padding; rows longer than the maximum sequence length were dropped, not truncated.
- One GPU (NVIDIA RTX PRO 6000 Blackwell Server Edition (96 GB)) on Google Colab, checkpoints shipped off-box during training.
Training hyperparameters
Results
Evaluation loss on a 357-row held-out split (5% of the dataset; the in-training eval used a fixed 128-row subset of it):
Evaluation
Quality was judged primarily behaviorally rather than by a single metric. Eval loss is a weak proxy for card quality on a held-out set this small (357 rows). A fixed prompt battery probed the behaviors that matter for this task:
- Structure & completeness: clean, parseable cards with all expected fields on easy archetypes.
- Constraint adherence: exact name / age / occupation, and a character's voice actually showing up in
first_mesandmes_examplerather than drifting generic. - Sparse invention: building a full, internally consistent card from a near-empty prompt.
- First-message craft: second-person address to
{{user}}, scene-setting, action formatting, in-voice dialogue, and a natural hand-off. - Register: antagonist/villain cards produced in-character, with no disclaimers, moralizing, or assistant-voice leakage. This is the main reason the model was trained from a base rather than an instruct checkpoint.
The battery output for this release is in battery.json.
Bias, Risks, and Limitations
- Mature content. This model was trained on a mix of Safe for Work and Not Safe For Work cards, and it may generate objectionable content. Please use discretion when generating new cards.
- Structural validity is not guaranteed. Output is generated text, not schema-validated card JSON. Run it through a parser/validator before importing into SillyTavern.
- Card conventions. Output uses
{{user}}/{{char}}macros and assumes a SillyTavern runtime. - Single-turn only. This generates a card, not a conversation; it is not itself a roleplay partner.
- Inherited bias. The model carries the biases of both the base model and the curated card sources, including their genre, aesthetic, and demographic skew. "High quality" reflects a subjective curation judgment.
Citation
If you use this model, please reference this repository, the text-only base and the original Ministral 3 release.
