./juno lora starts the LoRA fine-tuning REPL: a single in-process JVM that trains low-rank
adapters and persists them to a .lora checkpoint file.
# Minimal -- auto-loads <model>.lora if it exists
./juno lora --model-path /path/to/TinyLlama.Q4_K_M.gguf
# With verbose tracing (recommended when debugging training)
./juno lora --model-path /path/to/model.gguf --verboseWindows (Command Prompt):
juno.bat lora --model-path models\TinyLlama.Q4_K_M.gguf
juno.bat lora --model-path models\model.gguf --verboseFor the full LoRA training guide, REPL commands, rank selection, and common pitfalls, see
LoRA fine-tuning. Multi-fact Q&A training uses
/train-file-qa facts.json with a JSON array of {"Q":"...","A":"..."} objects (one training
loop). With --api-port N the same JSON can be posted via curl to
POST /v1/lora/train-file-qa, followed by POST /v1/lora/save.
Using a trained adapter outside lora mode¶
# Chat with adapter, no training REPL overhead
./juno local --model-path /path/to/model.gguf --lora-play /path/to/model.lora
# 3-node cluster with adapter on every node
./juno --model-path /path/to/model.gguf --lora-play /path/to/model.loraWindows:
juno.bat local --model-path models\model.gguf --lora-play adapters\model.lora
juno.bat --model-path models\model.gguf --lora-play adapters\model.loraProfiling a slow training step¶
./juno lora --model-path /path/to/model.gguf --jfr 5m
# After exit, open juno-<modelStem>-<timestamp>.jfr in JDK Mission Control
# Event Browser -> juno.LoraTrainStep: forwardMs / backwardMs / optimizerMs / lossWindows:
juno.bat lora --model-path models\model.gguf --jfr 5m