ONNX Model Zoo

zakarth/violet-160m-chat-onnx

By zakarth · ↓ 2 · ♥ 0 · Updated 2026-02-03

What's in this repo

This page lists the files in zakarth/violet-160m-chat-onnx, including model_quantized.onnx.

  • 1 ONNX models (.onnx files)
  • 12 files, including 6 .json, 1 .md, 1 .onnx, 1 .png
  • Last updated 2026-02-03

ONNX files

File Size Download
onnx/model_quantized.onnx — Download

How to use

These ONNX files can be loaded with ONNX Runtime. To inspect a model graph, upload the file to the Netron viewer. Download links point to the original files on Hugging Face.

README


language:

  • en library_name: transformers tags:
  • text-generation
  • gpt_neox
  • roleplay
  • victorian license: cc0-1.0

Violet 160M Chat (ONNX) — Miss Violet Hartwell (London, 1899)

Violet

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. Since this is the 160M variant of Violet, she is tiny but mighty and appropriate for mobile devices. For completions, Violet 160M is almost as good as Violet 1b4, and for chat, well... It's fun at least. If you're looking for the most powerful Violet, have a visit to Violet 1b4 Chat. This version of Violet is the int8 quantized version, for the non-quantized HF version of the model visit Violet 160M Chat.

She is intended for creative writing, roleplay, period-appropriate correspondence, and Victorian etiquette.

  • Architecture: GPTNeoXForCausalLM
  • Parameters: ~152M
  • Context length: 4096
  • Vocab size: 50281
  • Tokenizer: GPTNeoXTokenizer

Intended Use

Good for

  • Victorian-flavored conversation and letters
  • Descriptive prose, scene writing, etiquette Q&A
  • In-character responses with an almost consistent persona

Not good for

  • Contemporary factual Q&A
  • Medical/legal/financial advice

Known Issues / Limitations

  • The 160M model series are very brittle in chat, but are very good at text completion in general.
  • Will likely misgender itself or the user.
  • Ages and dates are 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.
  • The 160M model series did not pre-filter only English in the corpus, meaning other languages were added as part of its pretraining. These are mostly European languages, but some asian languages are represented as well.
  • 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 160M was built on a corpus spanning 1800–1899 mostly sourced from Project Gutenberg. Consequently she has a very strong narrative presence.

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

Related repos

  • Zakarth/violet-160m (base/completion for 160M series)
  • 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 160M uses a GPT-NeoX / Pythia-style tokenizer.

Recommended IDs for generation:

  • eos_token_id: 0
  • pad_token_id: 50277

Special tokens used during training (typical IDs from training config):

  • : 50277
  • : 50278
  • : 50279
  • : 50280

!! Do not mix tokenizers from other Violet variants (e.g. 1.4B) with this model.

How to use (Transformers.js)

import {
  AutoTokenizer,
  AutoModelForCausalLM,
} from "@huggingface/transformers";

const repo = "Zakarth/violet-1b4-chat-onnx";

// Load tokenizer
const tokenizer = await AutoTokenizer.from_pretrained(repo, {
  use_fast: true,
});

// Load model (WebGPU if available, otherwise WASM)
const model = await AutoModelForCausalLM.from_pretrained(repo, {
  device: "webgpu", // or "wasm" fallback
});

const 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|>
`;

// Tokenize (exact equivalent of add_special_tokens=False)
const inputs = await tokenizer(prompt, {
  add_special_tokens: false,
  return_attention_mask: true,
});

// Generate
const output = await model.generate({
  input_ids: inputs.input_ids,
  attention_mask: inputs.attention_mask,

  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,
});

// Slice off the prompt tokens (same as PyTorch)
const promptLength = inputs.input_ids[0].length;
const generatedIds = output[0].slice(promptLength);

// Decode with special tokens preserved
const text = tokenizer.decode(generatedIds, {
  skip_special_tokens: false,
});

console.log(text);

Sample Outputs

Describe for me the smell of a flower

It is an odor of great sweetness and fragrance. The aroma is that of freshly-flowered silk, highly charged with colour and aroma. It is not so very close, but it is exceedingly like the aroma of tobacco smoke. There are no more delicate odours to be found in the garden--it has a peculiar and delicious quality. One might say it is a delicious odor, but one must always remember that perfume is a powerful and delightful fuel to build up a house.

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}
}

Model info

text-generation transformers
transformers onnx gpt_neox text-generation roleplay victorian en license:cc0-1.0 endpoints_compatible region:us
↓ 2 ♥ 0

Created: 2026-02-02

Updated: 2026-02-03

View on Hugging Face

Files (12)

.gitattributes
LICENSE
NOTICE
README.md
config.json
generation_config.json
onnx/model_quantized.onnx ONNX
quantize_config.json
special_tokens_map.json
tokenizer.json
tokenizer_config.json
violet.png

Related models