Instructions to use 2stacks/qwen3-8b-andrew-resume-v2 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use 2stacks/qwen3-8b-andrew-resume-v2 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 2stacks/qwen3-8b-andrew-resume-v2:Q4_K_M # Run inference directly in the terminal: llama cli -hf 2stacks/qwen3-8b-andrew-resume-v2:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf 2stacks/qwen3-8b-andrew-resume-v2:Q4_K_M # Run inference directly in the terminal: llama cli -hf 2stacks/qwen3-8b-andrew-resume-v2:Q4_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 2stacks/qwen3-8b-andrew-resume-v2:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf 2stacks/qwen3-8b-andrew-resume-v2:Q4_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 2stacks/qwen3-8b-andrew-resume-v2:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf 2stacks/qwen3-8b-andrew-resume-v2:Q4_K_M
Use Docker
docker model run hf.co/2stacks/qwen3-8b-andrew-resume-v2:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use 2stacks/qwen3-8b-andrew-resume-v2 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "2stacks/qwen3-8b-andrew-resume-v2" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "2stacks/qwen3-8b-andrew-resume-v2", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/2stacks/qwen3-8b-andrew-resume-v2:Q4_K_M
- Ollama
How to use 2stacks/qwen3-8b-andrew-resume-v2 with Ollama:
ollama run hf.co/2stacks/qwen3-8b-andrew-resume-v2:Q4_K_M
- Unsloth Studio
How to use 2stacks/qwen3-8b-andrew-resume-v2 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 2stacks/qwen3-8b-andrew-resume-v2 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 2stacks/qwen3-8b-andrew-resume-v2 to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for 2stacks/qwen3-8b-andrew-resume-v2 to start chatting
- Pi
How to use 2stacks/qwen3-8b-andrew-resume-v2 with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf 2stacks/qwen3-8b-andrew-resume-v2:Q4_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": "2stacks/qwen3-8b-andrew-resume-v2:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- OpenClaw new
How to use 2stacks/qwen3-8b-andrew-resume-v2 with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf 2stacks/qwen3-8b-andrew-resume-v2:Q4_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 "2stacks/qwen3-8b-andrew-resume-v2:Q4_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 2stacks/qwen3-8b-andrew-resume-v2 with Docker Model Runner:
docker model run hf.co/2stacks/qwen3-8b-andrew-resume-v2:Q4_K_M
- Lemonade
How to use 2stacks/qwen3-8b-andrew-resume-v2 with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull 2stacks/qwen3-8b-andrew-resume-v2:Q4_K_M
Run and chat with the model
lemonade run user.qwen3-8b-andrew-resume-v2-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use 2stacks/qwen3-8b-andrew-resume-v2 with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf 2stacks/qwen3-8b-andrew-resume-v2:Q4_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 2stacks/qwen3-8b-andrew-resume-v2:Q4_K_M
Run Hermes
hermes
- Atomic Chat
qwen3-8b-andrew-resume-v2
A QLoRA fine-tune of Qwen3-8B-Instruct specialized to answer biographical questions about Andrew Stanley (CTO / Chief Innovation Officer, SMS Data Products Group). Distributed as a single GGUF (Q4_K_M) for drop-in use with llama.cpp, Ollama, LM Studio, or any other GGUF-compatible runtime.
This repo and its companion dataset (2stacks/my-resume-v2) form a complete, reproducible end-to-end fine-tuning demo: source document → synthetic Q&A → QLoRA → merged weights → GGUF → local inference.
What it knows
The model was trained on 122 hand-authored Q&A pairs covering:
- Identity, current role, location, public-facing email
- Career timeline (SMS Data Products Group 2002–present, U.S. Army 1999–2014)
- Sector experience (Defense, Federal civilian, commercial)
- Technical skills: hybrid multi-cloud (AWS, Azure), DevSecOps, CI/CD, Zero Trust, AI/ML enablement
- Certifications: AWS AI Practitioner, AWS Solutions Architect Associate, AWS Cloud Practitioner
- Education: BS in Information Technology / Security, George Mason University (2006)
- Military service: U.S. Army Signal Officer, Afghanistan deployment 2008–09
- Active U.S. government security clearance (details on request)
- Leadership philosophy and engineering management approach
It does not know:
- Andrew's personal phone number
- Home street address
- Specific clearance level / agency
- Family information
- Anything outside the 122-row dataset (general world knowledge degrades after a 10-epoch overfit)
Quickstart
Ollama
hf download 2stacks/qwen3-8b-andrew-resume-v2 qwen3-8b-andrew-resume-v2.Q4_K_M.gguf --local-dir .
cat > Modelfile <<'EOF'
FROM ./qwen3-8b-andrew-resume-v2.Q4_K_M.gguf
PARAMETER temperature 0.3
PARAMETER top_p 0.9
PARAMETER stop "<|im_end|>"
TEMPLATE """<|im_start|>system
You are a helpful assistant with detailed knowledge of Andrew Stanley's professional background.<|im_end|>
<|im_start|>user
{{ .Prompt }}<|im_end|>
<|im_start|>assistant
"""
EOF
ollama create andrew-resume -f Modelfile
ollama run andrew-resume "What is Andrew's current role?"
llama.cpp
hf download 2stacks/qwen3-8b-andrew-resume-v2 qwen3-8b-andrew-resume-v2.Q4_K_M.gguf --local-dir .
./llama-cli -m qwen3-8b-andrew-resume-v2.Q4_K_M.gguf \
-p "What is Andrew Stanley's current role?" \
--chat-template chatml -n 256 --temp 0.3
Training recipe
| Base model | unsloth/Qwen3-8B-unsloth-bnb-4bit (4-bit BNB of Qwen/Qwen3-8B-Instruct) |
| Method | QLoRA (4-bit NF4) with Unsloth |
| Dataset | 2stacks/my-resume-v2 — 122 chat-format Q&A pairs |
LoRA rank r |
64 |
| LoRA alpha | 128 |
| LoRA target modules | q/k/v/o + gate/up/down |
| LoRA dropout | 0 |
| Max sequence length | 2048 |
| Per-device batch size | 2 |
| Gradient accumulation | 4 (effective batch = 8) |
| Optimizer | adamw_8bit |
| Learning rate | 1e-4, linear schedule, 10 warmup steps |
| Epochs | 10 |
| Total optimizer steps | 160 |
| Loss masking | Train on assistant responses only (train_on_responses_only) |
| Precision | bf16 |
| Seed | 3407 |
| Hardware | Single NVIDIA RTX 5090 (32 GB) |
| Wallclock | ~92 seconds end-to-end training |
| Final training loss | 0.0012 |
| Quantization for release | Q4_K_M GGUF |
The fine-tune is intentionally a near-memorization run — 10 epochs on 122 rows drives loss to ~0 so the model reliably surfaces the curated facts. This is appropriate for a biographical knowledge model and inappropriate for a general assistant.
Reproducing this run
The training script (train.py) and GGUF export script (export_gguf.py) live in the project repo alongside the dataset. The exact recipe in pseudocode:
from unsloth import FastLanguageModel
from trl import SFTTrainer, SFTConfig
from unsloth.chat_templates import get_chat_template, train_on_responses_only
from datasets import load_dataset
model, tok = FastLanguageModel.from_pretrained(
"unsloth/Qwen3-8B-unsloth-bnb-4bit", max_seq_length=2048, load_in_4bit=True)
tok = get_chat_template(tok, chat_template="qwen3-instruct")
model = FastLanguageModel.get_peft_model(model, r=64, lora_alpha=128,
target_modules=["q_proj","k_proj","v_proj","o_proj",
"gate_proj","up_proj","down_proj"])
ds = load_dataset("2stacks/my-resume-v2", split="train").map(
lambda b: {"text": [tok.apply_chat_template(c, tokenize=False) for c in b["messages"]]},
batched=True)
trainer = SFTTrainer(model, tokenizer=tok, train_dataset=ds, args=SFTConfig(
dataset_text_field="text", max_seq_length=2048,
per_device_train_batch_size=2, gradient_accumulation_steps=4,
num_train_epochs=10, learning_rate=1e-4, lr_scheduler_type="linear",
warmup_steps=10, optim="adamw_8bit", weight_decay=0.01,
bf16=True, seed=3407, output_dir="./out"))
trainer = train_on_responses_only(trainer,
instruction_part="<|im_start|>user\n",
response_part="<|im_start|>assistant\n")
trainer.train()
model.save_pretrained_gguf("./gguf_out", tok, quantization_method="q4_k_m")
Evaluation
This is a personal-knowledge demonstration model, not benchmarked against general LLM evals. The relevant test set is the 122 dataset rows themselves — the model is expected to recover them with high fidelity, which is what a final loss of ~0.001 indicates.
Out-of-distribution behavior (general knowledge questions, math, code, etc.) is degraded relative to the base model due to the heavy single-domain fine-tune. Use the base Qwen/Qwen3-8B-Instruct for general tasks.
Limitations and biases
- Severe single-subject overfit. Trained for 10 epochs on 122 rows of one subject's biography. General-purpose capability is degraded.
- Polished self-description. Andrew Stanley authored the source dataset; phrasings reflect how he wishes to be described professionally. Treat outputs as a curated bio, not an independent evaluation.
- Snapshot in time. Reflects career state as of May 2026.
- English-only.
- No retrieval or grounding. All knowledge is parametric. The model can confabulate when asked about facts outside the training distribution.
License
- Model weights: Apache 2.0 (inherited from Qwen3-8B-Instruct)
- Training dataset: CC-BY-4.0
Citation
@misc{stanley_qwen3_resume_v2_2026,
author = {Stanley, Andrew},
title = {qwen3-8b-andrew-resume-v2: a personal-biography QLoRA fine-tune of Qwen3-8B-Instruct},
year = {2026},
publisher = {Hugging Face},
url = {https://huggingface.co/2stacks/qwen3-8b-andrew-resume-v2}
}
Contact
- Email:
2stacks@2stacks.net - Hugging Face: @2stacks
- Downloads last month
- 11
4-bit