Instructions to use jasondostal/carrier-voice-8b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use jasondostal/carrier-voice-8b with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="jasondostal/carrier-voice-8b") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("jasondostal/carrier-voice-8b", dtype="auto") - llama-cpp-python
How to use jasondostal/carrier-voice-8b with llama-cpp-python:
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="jasondostal/carrier-voice-8b", filename="carrier-voice-8b-Q5_K_M.gguf", )
llm.create_chat_completion( messages = [ { "role": "user", "content": "What is the capital of France?" } ] ) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use jasondostal/carrier-voice-8b 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 jasondostal/carrier-voice-8b:Q5_K_M # Run inference directly in the terminal: llama cli -hf jasondostal/carrier-voice-8b:Q5_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf jasondostal/carrier-voice-8b:Q5_K_M # Run inference directly in the terminal: llama cli -hf jasondostal/carrier-voice-8b: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 jasondostal/carrier-voice-8b:Q5_K_M # Run inference directly in the terminal: ./llama-cli -hf jasondostal/carrier-voice-8b: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 jasondostal/carrier-voice-8b:Q5_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf jasondostal/carrier-voice-8b:Q5_K_M
Use Docker
docker model run hf.co/jasondostal/carrier-voice-8b:Q5_K_M
- LM Studio
- Jan
- vLLM
How to use jasondostal/carrier-voice-8b with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "jasondostal/carrier-voice-8b" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "jasondostal/carrier-voice-8b", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/jasondostal/carrier-voice-8b:Q5_K_M
- SGLang
How to use jasondostal/carrier-voice-8b with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "jasondostal/carrier-voice-8b" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "jasondostal/carrier-voice-8b", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "jasondostal/carrier-voice-8b" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "jasondostal/carrier-voice-8b", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Ollama
How to use jasondostal/carrier-voice-8b with Ollama:
ollama run hf.co/jasondostal/carrier-voice-8b:Q5_K_M
- Unsloth Studio
How to use jasondostal/carrier-voice-8b 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 jasondostal/carrier-voice-8b 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 jasondostal/carrier-voice-8b to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for jasondostal/carrier-voice-8b to start chatting
- Pi
How to use jasondostal/carrier-voice-8b with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf jasondostal/carrier-voice-8b: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": "jasondostal/carrier-voice-8b:Q5_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use jasondostal/carrier-voice-8b with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf jasondostal/carrier-voice-8b: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 jasondostal/carrier-voice-8b:Q5_K_M
Run Hermes
hermes
- Atomic Chat new
- OpenClaw new
How to use jasondostal/carrier-voice-8b with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf jasondostal/carrier-voice-8b: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 "jasondostal/carrier-voice-8b: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 jasondostal/carrier-voice-8b with Docker Model Runner:
docker model run hf.co/jasondostal/carrier-voice-8b:Q5_K_M
- Lemonade
How to use jasondostal/carrier-voice-8b with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull jasondostal/carrier-voice-8b:Q5_K_M
Run and chat with the model
lemonade run user.carrier-voice-8b-Q5_K_M
List all available models
lemonade list
carrier-voice-8b
A Qwen3-8B fine-tune that writes like a 1990s BBS caller. Give it a persona and a thread, and it replies in period-authentic voice — the awkward teen, the condescending sysop, the ratio-obsessed file leech — tone and texture, not facts.
It's the voice tier for carrier, a single-player BBS simulator where a deterministic game engine decides what each AI caller does and this model writes how they say it. Trained on jasondostal/fidonet-bbs-voice — 57k real FidoNet reply pairs — for a total compute cost of $0.77.
It sounds like this
Same prompt scaffold, different personas → different people:
kitkat_16 (16, boy-crazy): hey, i'm just like you. i'm 16. i'm a girl. i don't do homework... i care about boys... i'm not a nerd.
Dr_DOS (pedant): If you have more than 1 meg, you need to use HIMEM.SYS. If you have less, you need to use EMS.SYS (or, better yet, upgrade your memory).
warez_wolf (defiant leech): I have no intention of losing my access, so the best idea is for you to leave me alone and let me do my thing. — warez_wolf —
It even picked up real BBS texture from the data unprompted — FidoNet quote
headers (On 08-25-96 you wrote to All...) and QWK-reader taglines
(___ Blue Wave/DOS v2.30 [NR]).
Prompt format
Trained in this exact shape — match it for best results:
system: You are <handle>, a caller on a 1990s BBS posting in the <echo> message echo.
Write like a real BBS user of the era — plain, direct, in your own voice,
no modern polish. You are: <one-line persona/style>.
user: You are replying to <handle> about "<subject>".
They wrote:
<quoted body>
Write your reply.
For a new thread, use You are starting a new thread in the <echo> echo.\n\nWrite your post.
Use it
Local (GGUF — llama.cpp / LM Studio / Ollama): grab carrier-voice-8b-Q5_K_M.gguf (5.4 GB, ~47 tok/s on an Apple M-series). LM Studio and Ollama auto-detect it.
Transformers (merged fp16, at the repo root):
from transformers import AutoModelForCausalLM, AutoTokenizer
tok = AutoTokenizer.from_pretrained("jasondostal/carrier-voice-8b")
model = AutoModelForCausalLM.from_pretrained("jasondostal/carrier-voice-8b", device_map="auto")
PEFT (the LoRA adapter only, in adapter/):
from peft import PeftModel
from transformers import AutoModelForCausalLM
base = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3-8B")
model = PeftModel.from_pretrained(base, "jasondostal/carrier-voice-8b", subfolder="adapter")
Recommended sampling: temperature 0.85, frequency_penalty ~0.6 (or repeat_penalty ~1.2 in llama.cpp) to keep it from looping.
How it was made
| Base | Qwen3-8B (dense), 4-bit QLoRA |
| Data | fidonet-bbs-voice, 57k reply pairs, response-masked |
| LoRA | r=16, α=16, lr=2e-4, batch 4×4 |
| Hardware | one RunPod RTX 4090 (~1h11m) |
| Cost | $0.77 |
| Result | cut early at a loss plateau (~step 1000), kept the checkpoint at the loss floor |
Full training walkthrough, loss curve, and reproduce scripts: carrier/training/voice.
Limitations (honest)
- v0. On a persona battery, ~5 of 7 personas came out clearly in-voice and distinct; a couple can ramble or fall into a repetition loop without an inference-time repetition penalty (use one).
- Captures voice, not knowledge — it will happily state wrong "facts" in a confident 1994 tone. That's the point; don't use it as a knowledge source.
- English, 1990s-BBS register only. It is not a general assistant.
- Inherits Qwen3-8B's biases plus the register of real (pseudonymous) 1990s posters. Meant for creative / research use.
License & credit
Apache-2.0 (following Qwen3-8B). Data derived from the ExecPC FidoNet scrape preserved at breakintochat.com / the Internet Archive — credit to those archivists. Built for carrier.
- Downloads last month
- 10
5-bit