Downloads · 30 days
137
17% of all-time downloads
Fordentinc/book-builder-bookwriter-v1
book-builder-bookwriter-v1 is a text generation model from Fordentinc. Use it when you need the model to write or continue text. The card lists the license as apache-2.0.
This page is the v1 early release of book-builder-bookwriter-v1. It is not the final model. Skim the rest of this card before you generate anything so you know what you're getting and what you're not.
Downloads · 30 days
137
17% of all-time downloads
All-time downloads
814
Public
Parameters
7.6B
50.5 GB on disk
Likes
0
Public
Click a slice to open those files.
.gguf33.5 GB · 68%
From the Hugging Face model README
This page is the v1 early release of book-builder-bookwriter-v1. It is not the final model. Skim the rest of this card before you generate anything so you know what you're getting and what you're not.
A 7.6B-parameter prose-writing model fine-tuned on 10,211 human-authored novels (310,316 chapters, ~1.82 billion tokens) with a strict story-bible-to-chapter format. Built for BookBuilder to generate novel chapters from structured story bibles.
⚠ Work in Progress (v1, early release)
This is an early checkpoint of an ongoing training run. Training was paused at step 5000 / 9697 (~52% of one epoch) so the artifacts could be released publicly while the larger run continues.
Known limitations of v1:
- Treats bibles as style prompts, not strict plot instructions. Expect drift from the synopsis on one-shot generation.
- Does not reliably follow "FORBIDDEN" rules, character role assignments, or per-character constraints in rich BookBuilder-style bibles.
- Loaded keywords in synopses (proper names like "Stillwater", specific years like "1947") can trigger off-topic associations from the training corpus.
- On longer generations, may drift into paragraph-level repetition loops without the tuned sampling defaults in
ollama/Modelfile.What's coming:
- v2 (Q3/Q4 2026): Larger base model (Qwen 2.5 14B or 32B) + synthesized instruction-following data so the model can actually obey FORBIDDEN sections, distinguish protagonists from antagonists, and follow beat sheets. This addresses the main v1 limitation.
- v1 continuation to step 9697: the LoRA may be taken to the full single-epoch checkpoint and re-released as
book-builder-bookwriter-v1.1if testing shows it's worth the additional training compute. The resumable training state is preserved at branchresumable-step-5000.Best use for v1 right now: as a prose-style backbone inside a structured pipeline (like BookBuilder itself) that provides per-chapter beat sheets and plot anchors at generation time. The pipeline supplies the discipline the v1 model can't enforce on its own. For one-shot "give me a chapter from a synopsis" use, v1 produces readable prose but will frequently drift from the intended plot.
This is NOT a chat model. Do not prompt it like ChatGPT. See "How to use" below.
You write a Story Bible in the format shown below (or fill in the template).
You give the model the bible plus ### Chapter.
The model writes the chapter prose.
It will not answer questions. It will not respond to "Write me a story about X." It only continues prose conditioned on the bible context.
Every training example looked exactly like this:
### Bible
Title: [book title]
Author: [author name]
Genre: [genre]
Publisher: [publisher]
Synopsis: [1-3 paragraphs describing the book]
### Genre
[genre]
### Chapter
[chapter title]
[chapter prose...]
Your prompt MUST end at ### Chapter\n[chapter title]\n\n and the model fills in the prose.
IMPORTANT: A plain ollama pull from HF discards any Modelfile parameters in the repo, so Ollama runs the model with its default sampling — which on long completion prompts causes repetition loops and over-long generations. Use the setup script below to register the model under the name bookbuilder with tuned defaults that prevent both problems.
One-shot setup:
curl -sSL https://huggingface.co/Fordentinc/book-builder-bookwriter-v1/resolve/main/ollama/setup_ollama.sh | bash
# Optional: pass a quant tag, default is Q5_K_M
# curl -sSL https://huggingface.co/Fordentinc/book-builder-bookwriter-v1/resolve/main/ollama/setup_ollama.sh | bash -s Q8_0
Then:
ollama run bookbuilder < your_bible.txt
The script pulls the GGUF, builds a local Modelfile with the right repeat_penalty 1.18, num_predict 2500, and stop tokens, and registers the result as bookbuilder.
If you'd rather pull manually (without the loop fix), you need to pass sampling flags every time:
ollama pull hf.co/Fordentinc/book-builder-bookwriter-v1:Q5_K_M
ollama run hf.co/Fordentinc/book-builder-bookwriter-v1:Q5_K_M \
--num-predict 2500 --repeat-penalty 1.18 --temperature 0.75
Available quants:
Q4_K_M (4.7 GB) - fits on 8 GB GPUs, some token-decoding artifactsQ5_K_M (5.4 GB) - balanced, recommended for 24 GB cardsQ8_0 (8.1 GB) - near-lossless, cleaner token decoding than K-quantsF16 (15.2 GB) - full precision, no quantization artifactsFordentinc/book-builder-bookwriter-v1./llama-cli -hf Fordentinc/book-builder-bookwriter-v1:Q5_K_M \
--temp 0.8 --top-p 0.95 -n 2048 \
-f your_bible.txt
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
from peft import PeftModel
base_id = "Qwen/Qwen2.5-7B"
adapter = "Fordentinc/book-builder-bookwriter-v1"
tok = AutoTokenizer.from_pretrained(adapter)
base = AutoModelForCausalLM.from_pretrained(base_id, torch_dtype=torch.bfloat16, device_map="auto")
model = PeftModel.from_pretrained(base, adapter)
model.eval()
bible_and_chapter_header = open("your_bible.txt").read()
inputs = tok(bible_and_chapter_header, return_tensors="pt").to("cuda")
out = model.generate(
**inputs,
max_new_tokens=2048,
do_sample=True, temperature=0.8, top_p=0.95,
repetition_penalty=1.05,
)
print(tok.decode(out[0], skip_special_tokens=True))
vLLM cannot load the LoRA adapter alone; use the merged bf16 weights instead:
vllm serve Fordentinc/book-builder-bookwriter-v1 --dtype bfloat16 --max-model-len 16384
my_book.txt).### Chapter followed by your chapter title and one blank line. Example:
### Chapter
Chapter 1: The Long Drive Home
max_new_tokens cap.See example_bibles/ for two complete working examples.
| Parameter | Value | Why |
|---|---|---|
temperature | 0.8 | Lower = repetitive, higher = incoherent |
top_p | 0.95 | Standard nucleus sampling |
repetition_penalty | 1.05 | Prevents loops; do not push past 1.15 |
max_new_tokens | 2048-4096 | Most chapters land in 1500-3500 tokens |
min_p | 0.05 (if supported) | Better than top_k for prose |
[INST] tags. The model was never shown those during training.max_new_tokens.Apache 2.0 (inherited from base Qwen 2.5 7B). You may use commercially.
@misc{bookbuilder_bookwriter_v1_2026,
author = {Fordentinc},
title = {book-builder-bookwriter-v1: A prose-writing LoRA on Qwen 2.5 7B},
year = {2026},
url = {https://huggingface.co/Fordentinc/book-builder-bookwriter-v1},
}
Open a discussion on this model page. Include the bible you used (first 500 chars) and the first 200 chars of the model output.