A small (42M-parameter) GPT trained from scratch on the German classics
and fine-tuned into a chat model you can talk to as Goethe, Schiller, Kant,
Lessing, Kleist, Hölderlin, Novalis or Herder.
No pretrained base, no distillation — the corpus, tokenizer and model are all
built from raw public-domain text. Full training pipeline and code:
👉 https://github.com/mtkl6/goethe-schiller-kant
text
1Du: Was ist die Pflicht des Menschen?
2Kant: Wenn wir uns nun selbst in der Welt verachtend verhalten müssen:
3 was können wir tun?
45Du: Woher kommt die wahre Kunst?
6Goethe: Ich bin ein großer Mann, aber ich kenne den schönen Alten; sie sind
7 von jeher mit erzogen worden …
⚠️ The inference widget is disabled because this is a custom (non-transformers)
architecture — load it with the snippet below.
40k steps, AdamW, lr 3e-4→3e-5 cosine — train 2.74 / val 4.21
Fine-tune
3k steps, lr 5e-5, 20% prose mix — chat-val 3.32
Corpus
~13M tokens, 9 authors from Projekt Gutenberg-DE
Hardware
Apple Silicon (MPS)
Limitations
This is a tiny model trained on ~13M tokens. It answers in fluent,
period-flavoured German and captures each author's register, but it does not
understand questions — most fine-tuning data is drama dialogue, so it
free-associates in-style more than it answers on-topic. It is factually empty
and works best on short exchanges phrased in classic style. Treat it as
literary style transfer, not a knowledgeable assistant.
Citation
bibtex
1@software{dichter_denker_2026,
2 author = {Moritz (mtkl6)},
3 title = {Dichter & Denker: a from-scratch German classics persona chat model},
4 year = {2026},
5 url = {https://github.com/mtkl6/goethe-schiller-kant}
6}