Downloads · 30 days
103
10% of all-time downloads
lambdahouse/palimpsest-lora-adapters
palimpsest-lora-adapters is a machine learning model from lambdahouse. Use it for the machine learning task on the model card, and read the license before you ship it in a product. The card lists the license as apache-2.0.
Mix multiple authors' writing styles in real-time using lightweight LoRA adapters on a single base model.
Downloads · 30 days
103
10% of all-time downloads
All-time downloads
992
Public
Repo size
24.2 GB
Likes
0
Public
Click a slice to open those files.
.gguf24.2 GB · 100%
From the Hugging Face model README
Mix multiple authors' writing styles in real-time using lightweight LoRA adapters on a single base model.
Each adapter captures one author's distinctive voice (~435MB). At inference time, adapters are weighted and blended per request — 70% Bulgakov + 30% Poe produces lyrical Gothic satire. No model reload, no merge, instant style change.
| Adapter | Author | Language | Corpus | Training pairs |
|---|---|---|---|---|
bulgakov.lora.gguf | Mikhail Bulgakov | Russian | 635K words, 20 works | 1,748 |
lovecraft_en.lora.gguf | H.P. Lovecraft | English | 262K words, 21 stories | 524 |
doyle_en.lora.gguf | Arthur Conan Doyle | English | 733K words, 10 works | 1,796 |
poe_en.lora.gguf | Edgar Allan Poe | English | 515K words, 6 volumes | 756 |
wilde_en.lora.gguf | Oscar Wilde | English | 308K words, 11 works | 730 |
london_en.lora.gguf | Jack London | English | 747K words, 10 novels | 1,620 |
Both base models must be converted to GGUF Q6_K format for use with llama.cpp.
Russian and English adapters use different base models and must run on separate servers:
# Russian server (Saiga Nemo 12B base)
llama-server \
-m saiga-nemo12b-base-q6k.gguf \
--lora bulgakov.lora.gguf \
--lora-init-without-apply --no-jinja \
--port 8080 --ctx-size 4096
# English server (Mistral Nemo abliterated base)
llama-server \
-m nemo-abliterated-base-q6k.gguf \
--lora lovecraft_en.lora.gguf \
--lora doyle_en.lora.gguf \
--lora poe_en.lora.gguf \
--lora wilde_en.lora.gguf \
--lora london_en.lora.gguf \
--lora-init-without-apply --no-jinja \
--port 8081 --ctx-size 4096
# Per-request mixing (within same language)
curl http://localhost:8081/v1/chat/completions \
-d '{"messages": [{"role": "user", "content": "Write a scene..."}],
"lora": [{"id": 0, "scale": 0.7}, {"id": 2, "scale": 0.3}]}'
Note: Mixing is only supported within the same language/base model. You can mix Lovecraft + Poe (both English) or Bulgakov alone (Russian), but not Bulgakov + Poe (different base models).
See github.com/lambda-house/palimpsest for a full chat interface with mixer sliders.
Each adapter is a low-rank correction (~0.4GB) to the base model weights. At inference:
output = input × W_base + scale₁ × (A₁ × B₁) + scale₂ × (A₂ × B₂) + ...
Adapters are additive and commutative — order doesn't matter, mixing is instant, base model stays unchanged.
@misc{palimpsest2026,
title={Palimpsest: Literary Style Mixing with LoRA Adapters},
author={Lambda House},
year={2026},
url={https://github.com/lambda-house/palimpsest}
}
Adapters: Apache 2.0 (all trained on public domain texts) Base models: See respective model cards Training code: github.com/lambda-house/palimpsest