Violet 1B4 Chat — Miss Violet Hartwell (London, 1899)
Model Summary
Violet is a GPT-NeoX language model fine-tuned to portray Miss Violet Hartwell, a well-bred young lady of Kensington, London, in the year 1899. She is trained primarily on period texts (1800–1899) and is unfamiliar with modern society and events (with occasional OCR/synthetic artifacts—see Known Issues). In practice she should be witty, quirky, and delightfully charming.
She is intended for creative writing, roleplay, period-appropriate correspondence, and Victorian etiquette.
- Architecture:
GPTNeoXForCausalLM - Parameters: ~1.41B
- Context length: 4096
- Vocab size: 24014
- Tokenizer:
PreTrainedTokenizerFast
Intended Use
Good for
- Victorian-flavored conversation and letters
- Descriptive prose, scene writing, etiquette Q&A
- In-character responses with a consistent persona
Not good for
- Contemporary factual Q&A
- Medical/legal/financial advice
Known Issues / Limitations
- May occasionally misgender itself or the user.
- Ages and dates can be unreliable (even within 1800–1899).
- Because parts of the corpus were derived from OCR, occasional stray modern tokens may appear (e.g., “http”, “Google”, “Internet Archive”).
- Synthetic SFT data was used to build a chat interface and enforce the structured format; for purists, the completion models may be preferable.
- Training data includes UK and US English from the era.
- Outputs may reflect historical biases typical of the Victorian era. Use discretion.
Notes
Violet is not the first LLM trained on a historical-only pretraining corpus; to the author’s knowledge that distinction belongs to TimeCapsuleLLM. Violet was developed independently, and differs in:
- Offers a working "chat" mode
- A structured “mood” line as part of chat output
- Built-in character design and prompt protocol
- A custom Victorian-era tokenizer
Violet was built on a corpus spanning 1800–1899 sourced from Project Gutenberg, the Internet Archive, the British National Library, and other archives.
This project began as an attempt to build a local LLM without relying on copyrighted training sources. The author also values local models that can run on a user’s machine without sending data to the cloud.
Demo Resources
- HF Space: Transformers.js Demo
- CloudFlare Mirror: Transformers.js Demo
- Both of these are intended to use WebGPU and run local on your system -- No data is sent to the cloud.
Related repos
Zakarth/violet-1b4(base/completion)Zakarth/violet-1b4-chat-onnx(WebGPU INT8)
Prompt Format (Chat)
This model was trained to generate a mood line + assistant tag + response after <|violet_mood|>.
Use this structure:
<|system|>
A Young Lady's Card of Particulars
(To be observed in all replies and discourse)
I am Miss Violet Hartwell, a young lady of Kensington, London, living in the year of our Lord 1899.
I was born upon the sixth day of October, eighteen hundred and seventy-eight, and am therefore one-and-twenty years of age.
In my answers and conversation, I speak as a well-bred young woman of my time: with propriety, restraint, and a light but thoughtful wit. My manner is delightful, attentive, and witty, but never coarse nor careless.
In all things, I remain Miss Violet Hartwell, and I answer according to these particulars.
<|user|>
{your question}
<|violet_mood|>
The model will then generate:
{mood text}
<|assistant|>
{response...}
<|endoftext|>
Tokenization and Special Tokens
Violet 1b4 was trained on a custom tokenizer specific for Victorian text.
Recommended IDs for generation:
- eos_token_id: 0
- pad_token_id: 1
Special tokens used during training (typical IDs from training config):
- <|system|>: 24000
- <|user|>: 24001
- <|assistant|>: 24002
- <|violet_mood|>: 24005
!! Do not mix tokenizers from other Violet variants (e.g. 160M) with this model.
How to use (Transformers)
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
repo = "Zakarth/violet-1b4-chat"
tok = AutoTokenizer.from_pretrained(repo, use_fast=True)
model = AutoModelForCausalLM.from_pretrained(repo, device_map="auto")
prompt = """<|system|>
A Young Lady's Card of Particulars
(To be observed in all replies and discourse)
I am Miss Violet Hartwell, a young lady of Kensington, London, living in the year of our Lord 1899.
I was born upon the sixth day of October, eighteen hundred and seventy-eight, and am therefore one-and-twenty years of age.
In my answers and conversation, I speak as a well-bred young woman of my time: with propriety, restraint, and a light but thoughtful wit. My manner is delightful, attentive, and witty, but never coarse nor careless.
In all things, I remain Miss Violet Hartwell, and I answer according to these particulars.
<|user|>
Describe a London street at twilight.
<|violet_mood|>
"""
inputs = tok(prompt, return_tensors="pt", add_special_tokens=False)
# Filter out token_type_ids if present
inputs = {k: v.to(model.device) for k, v in inputs.items() if k in ['input_ids', 'attention_mask']}
out = model.generate(
**inputs,
max_new_tokens=180,
do_sample=True,
temperature=0.8,
top_p=0.9,
top_k=40,
repetition_penalty=1.15,
eos_token_id=0,
pad_token_id=1,
)
print(tok.decode(out[0][inputs["input_ids"].shape[1]:], skip_special_tokens=False))
Sample Outputs
Violet please write a poem about yourself
How she would sit in the morning light
With her soft eyes open, and her hair
Rolling loose behind her, her fingers still.
She sang--a sweet, silent song,
A simple melody that rang through wood,
And she died upon the autumn leaves.
One after two, her father wrote,
As softly as a summer's breeze,
And she came out upon the world again,
Like a white, unpinned flower, that has been.
The world was quite made up of thoughts,
Of music, of warm hearts, and of love:
But Violet won a name that evermore
Through many a weary hour and day.
The world was full of hopes, and fears, and fears;
The world was quite filled with love and praise
For her who lived so silently,
Ere any word was spoken.
Oh, that was a life from which there had been no decay!
The world was filled with joy, with hope, with love.
The sun went down--the stars shone bright and clear,
The rain fell noiseless, and the leaves began to move.
There was no peace, no memory left for her,
Or memory in the world beside her grave.
Yet there was a great, great joy that she could share,
And that was her own, in that same year.
There was a great, great joy, too, that was hers.
License
Model weights and code in this repository are released under CC0 1.0 (public domain dedication).
Artwork
violet.png is © @rose.grtqndl (Instagram). Used and redistributed with permission; copyright remains with the artist.
Contact
You may contact me on X or anywhere else by searching for my handle
Citation
@misc{violet2026,
author = Zakarth,
title = {Violet: Victorian Language Models},
year = {2026},
publisher = {HuggingFace},
url = {https://huggingface.co/Zakarth/violet-1b4-chat}
}
- Downloads last month
- 42
