namegen is a Rust CLI for training and generating realistic random names using a compact GPT-style model and deterministic sampling controls.
- Getting started: getting-started.md
- Architecture: architecture.md
- Clear CLI with train and gen commands
- Reusable library modules behind src/lib.rs
- Checkpoint persistence with serde and bincode
- Deterministic generation and training support through explicit seed inputs
- Temperature, top-k, and top-p sampling controls
- Quality filtering for generated outputs
- Optional Config.toml defaults
cargo install --path .Train:
namegen train \
--dataset input.txt \
--epochs 2 \
--learning-rate 0.01 \
--save-model assets/my-model.bin \
--seed 42Generate:
namegen gen \
--count 20 \
--temperature 0.8 \
--top-k 20 \
--top-p 0.9 \
--seed 42 \
--load-model assets/my-model.binIf load-model is not provided, namegen uses assets/pretrained.bin.
Config.toml is optional. Values in defaults are used unless overridden by CLI flags.
[defaults]
epochs = 2
learning_rate = 0.01
temperature = 0.8
count = 20
top_k = 20
top_p = 0.9cargo fmt --all
cargo clippy --all-targets --all-features -- -D warnings
cargo testRUST_LOG=info namegen train --dataset input.txt --save-model assets/tmp.bin
RUST_LOG=debug namegen gen --load-model assets/pretrained.bin --seed 42