Instructions to use walter-bd/npc-voice-v5-sft with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- llama-cpp-python
How to use walter-bd/npc-voice-v5-sft with llama-cpp-python:
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="walter-bd/npc-voice-v5-sft", filename="gguf/npc-voice-v5-sft.Q5_K_M.gguf", )
llm.create_chat_completion( messages = "No input example has been defined for this model task." )
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use walter-bd/npc-voice-v5-sft with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf walter-bd/npc-voice-v5-sft:Q5_K_M # Run inference directly in the terminal: llama cli -hf walter-bd/npc-voice-v5-sft:Q5_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf walter-bd/npc-voice-v5-sft:Q5_K_M # Run inference directly in the terminal: llama cli -hf walter-bd/npc-voice-v5-sft:Q5_K_M
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf walter-bd/npc-voice-v5-sft:Q5_K_M # Run inference directly in the terminal: ./llama-cli -hf walter-bd/npc-voice-v5-sft:Q5_K_M
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf walter-bd/npc-voice-v5-sft:Q5_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf walter-bd/npc-voice-v5-sft:Q5_K_M
Use Docker
docker model run hf.co/walter-bd/npc-voice-v5-sft:Q5_K_M
- LM Studio
- Jan
- Ollama
How to use walter-bd/npc-voice-v5-sft with Ollama:
ollama run hf.co/walter-bd/npc-voice-v5-sft:Q5_K_M
- Unsloth Studio
How to use walter-bd/npc-voice-v5-sft with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for walter-bd/npc-voice-v5-sft to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for walter-bd/npc-voice-v5-sft to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for walter-bd/npc-voice-v5-sft to start chatting
- Pi
How to use walter-bd/npc-voice-v5-sft with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf walter-bd/npc-voice-v5-sft:Q5_K_M
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "walter-bd/npc-voice-v5-sft:Q5_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use walter-bd/npc-voice-v5-sft with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf walter-bd/npc-voice-v5-sft:Q5_K_M
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default walter-bd/npc-voice-v5-sft:Q5_K_M
Run Hermes
hermes
- Atomic Chat new
- OpenClaw new
How to use walter-bd/npc-voice-v5-sft with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf walter-bd/npc-voice-v5-sft:Q5_K_M
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "walter-bd/npc-voice-v5-sft:Q5_K_M" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
- Docker Model Runner
How to use walter-bd/npc-voice-v5-sft with Docker Model Runner:
docker model run hf.co/walter-bd/npc-voice-v5-sft:Q5_K_M
- Lemonade
How to use walter-bd/npc-voice-v5-sft with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull walter-bd/npc-voice-v5-sft:Q5_K_M
Run and chat with the model
lemonade run user.npc-voice-v5-sft-Q5_K_M
List all available models
lemonade list
NPC Voice Model — v5 SFT
Fine-tuned Qwen3-0.6B for NPC dialogue generation in games. The model takes a plain factual sentence and rewrites it in a character's voice, conditioned on 6 persona parameters.
Task
INPUT: TONE:grumpy STYLE:blunt HUMOR:none RELATION:stranger ROLE:blacksmith
FACT: Iron swords cost 15 gold.
OUTPUT: Fifteen gold. Don't haggle.
Parameters
| Param | Values |
|---|---|
| TONE | grumpy, cheerful, neutral, fearful, proud, bitter, nervous, wise, cunning, melancholic, playful |
| STYLE | short, verbose, blunt, rambling, poetic |
| HUMOR | none, dry, sarcastic, warm, dark |
| RELATION | stranger, friend, enemy, ally, rival, mentor, debtor, heretic, worshipper, + 20 more |
| ROLE | blacksmith, innkeeper, guard, merchant, peasant, scholar, noble, priest |
Only RELATION changes at runtime based on game state. The other 4 are fixed per NPC at config time.
Inference
from unsloth import FastLanguageModel
model, tokenizer = FastLanguageModel.from_pretrained(
"walter-bd/npc-voice-v5-sft",
max_seq_length=256,
)
FastLanguageModel.for_inference(model)
prompt = "TONE:grumpy STYLE:blunt HUMOR:none RELATION:stranger ROLE:blacksmith\nFACT: Iron swords cost 15 gold.\nOUT:"
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
out = model.generate(**inputs, max_new_tokens=80, temperature=0.7, do_sample=True)
print(tokenizer.decode(out[0], skip_special_tokens=True).split("OUT:")[-1].strip())
Eval Results
| Metric | Score |
|---|---|
| Pass rate | 60.0% (3,000 samples) |
| Hallucination fail | 29.6% |
| Fact preservation | 1.39/2.0 |
| EN pass rate | 68% |
| ES pass rate | 44% |
Evaluated by qwen3.5:9b judge on stratified val set (tone × role × language).
Training
- Base model: Qwen3-0.6B
- Method: LoRA (r=16, α=32) + Unsloth
- Dataset: ~35k rows, bilingual EN/ES, 30 relation types including Tier B synthetic
- Sources: VGDC game scripts, NPC-Dialogue_v2, Multi-Character Dialogue, synthetic generation (llama3.1:8b, dolphin-llama3:8b, gemma3-uncensored)
- Training time: ~55 min on RTX 3060 12GB
GGUF (Ollama)
A Q5_K_M GGUF is included for use with Ollama or llama.cpp.
ollama create npc-voice-v5 -f Modelfile
- Downloads last month
- 18