Instructions to use rekabytes/hmanlab-ai-v0.1 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use rekabytes/hmanlab-ai-v0.1 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="rekabytes/hmanlab-ai-v0.1") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("rekabytes/hmanlab-ai-v0.1") model = AutoModelForCausalLM.from_pretrained("rekabytes/hmanlab-ai-v0.1") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - llama-cpp-python
How to use rekabytes/hmanlab-ai-v0.1 with llama-cpp-python:
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="rekabytes/hmanlab-ai-v0.1", filename="hmanlab-ai-v0-1.q4_k_m.gguf", )
llm.create_chat_completion( messages = [ { "role": "user", "content": "What is the capital of France?" } ] ) - Notebooks
- Google Colab
- Kaggle
- Local Apps
- llama.cpp
How to use rekabytes/hmanlab-ai-v0.1 with llama.cpp:
Install from brew
brew install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama-server -hf rekabytes/hmanlab-ai-v0.1:Q4_K_M # Run inference directly in the terminal: llama-cli -hf rekabytes/hmanlab-ai-v0.1:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama-server -hf rekabytes/hmanlab-ai-v0.1:Q4_K_M # Run inference directly in the terminal: llama-cli -hf rekabytes/hmanlab-ai-v0.1: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 rekabytes/hmanlab-ai-v0.1:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf rekabytes/hmanlab-ai-v0.1: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 rekabytes/hmanlab-ai-v0.1:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf rekabytes/hmanlab-ai-v0.1:Q4_K_M
Use Docker
docker model run hf.co/rekabytes/hmanlab-ai-v0.1:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use rekabytes/hmanlab-ai-v0.1 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "rekabytes/hmanlab-ai-v0.1" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "rekabytes/hmanlab-ai-v0.1", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/rekabytes/hmanlab-ai-v0.1:Q4_K_M
- SGLang
How to use rekabytes/hmanlab-ai-v0.1 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 "rekabytes/hmanlab-ai-v0.1" \ --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": "rekabytes/hmanlab-ai-v0.1", "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 "rekabytes/hmanlab-ai-v0.1" \ --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": "rekabytes/hmanlab-ai-v0.1", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Ollama
How to use rekabytes/hmanlab-ai-v0.1 with Ollama:
ollama run hf.co/rekabytes/hmanlab-ai-v0.1:Q4_K_M
- Unsloth Studio new
How to use rekabytes/hmanlab-ai-v0.1 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 rekabytes/hmanlab-ai-v0.1 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 rekabytes/hmanlab-ai-v0.1 to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for rekabytes/hmanlab-ai-v0.1 to start chatting
- Pi new
How to use rekabytes/hmanlab-ai-v0.1 with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama-server -hf rekabytes/hmanlab-ai-v0.1: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": "rekabytes/hmanlab-ai-v0.1:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use rekabytes/hmanlab-ai-v0.1 with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama-server -hf rekabytes/hmanlab-ai-v0.1: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 rekabytes/hmanlab-ai-v0.1:Q4_K_M
Run Hermes
hermes
- Docker Model Runner
How to use rekabytes/hmanlab-ai-v0.1 with Docker Model Runner:
docker model run hf.co/rekabytes/hmanlab-ai-v0.1:Q4_K_M
- Lemonade
How to use rekabytes/hmanlab-ai-v0.1 with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull rekabytes/hmanlab-ai-v0.1:Q4_K_M
Run and chat with the model
lemonade run user.hmanlab-ai-v0.1-Q4_K_M
List all available models
lemonade list
hmanlab-ai v0.1
hmanlab-ai v0.1 is an open-source fine-tune of Qwen3-4B, focused on agentic tool use and step-by-step reasoning. It self-identifies as hmanlab.
This is a research preview released by @rekabytes under Apache 2.0. The model is not affiliated with Anthropic, OpenAI, Google, Meta, or Alibaba beyond using Qwen3 as the open-source base.
Quick start
Transformers (PyTorch)
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "rekabytes/hmanlab-ai-v0.1"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype="auto", device_map="auto")
messages = [
{"role": "system", "content": "You are hmanlab, a helpful AI assistant."},
{"role": "user", "content": "What is 17 × 23? Show your work."},
]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(text, return_tensors="pt").to(model.device)
output = model.generate(**inputs, max_new_tokens=512, do_sample=True, temperature=0.6)
print(tokenizer.decode(output[0][inputs.input_ids.shape[1]:], skip_special_tokens=True))
Ollama (GGUF Q4_K_M)
A Q4_K_M GGUF (~2.4 GB) is included in this repo for use with Ollama, llama.cpp, and LM Studio.
# Download the GGUF
wget https://huggingface.co/rekabytes/hmanlab-ai-v0.1/resolve/main/hmanlab-ai-v0-1.q4_k_m.gguf
# Create a Modelfile pointing at it
cat > Modelfile <<'EOF'
FROM ./hmanlab-ai-v0-1.q4_k_m.gguf
TEMPLATE """{{- if .System }}<|im_start|>system
{{ .System }}<|im_end|>
{{ end }}{{- range .Messages }}<|im_start|>{{ .Role }}
{{ .Content }}<|im_end|>
{{ end }}<|im_start|>assistant
"""
PARAMETER temperature 0.6
PARAMETER top_p 0.95
PARAMETER stop "<|im_end|>"
SYSTEM """You are hmanlab, a helpful AI assistant."""
EOF
ollama create hmanlab-ai -f Modelfile
ollama run hmanlab-ai
Tool use
The model was trained on multi-turn agentic traces with <tool_call> / <tool_response> blocks. Provide tools in the system prompt as a JSON schema inside <tools> tags, and the model will emit calls in the same format:
<tool_call>
{"name": "get_weather", "arguments": {"city": "Tokyo"}}
</tool_call>
Example system prompt for tool use:
You are hmanlab, an AI assistant capable of using tools.
<tools>
[
{
"name": "get_weather",
"description": "Get current weather for a city",
"parameters": {
"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"]
}
}
]
</tools>
When you need to call a tool, emit:
<tool_call>
{"name": "<tool_name>", "arguments": {...}}
</tool_call>
Model details
| Base model | Qwen/Qwen3-4B |
| Parameters | ~4 B |
| Context length | 4,096 (training) — base supports up to 32,768 |
| License | Apache 2.0 |
| Identity | "hmanlab" (open-source assistant) |
| Format | safetensors (FP16) + GGUF Q4_K_M |
Training data
| Dataset | Role | Size used | License |
|---|---|---|---|
| lambda/hermes-agent-reasoning-traces (glm-5.1 config) | Multi-turn agentic tool use | 1,722 (after 8k-token filter) | Apache 2.0 |
| angrygiraffe/claude-opus-4.6-4.7-reasoning-8.7k | Step-by-step reasoning | 8,298 (deduped) | Apache 2.0 |
| Identity SFT (custom, 396 examples) | Self-identification + adversarial probes | 396 × 3 epochs | Apache 2.0 |
| Total main training | 10,020 train + 500 eval (~22 M tokens) |
The identity SFT layer (Phase 2 of training) was a small custom dataset of 396 examples covering "who are you" variants and adversarial false-identity probes (e.g., "are you Claude / GPT / LLaMA / Gemini"). It was needed because the Opus dataset (83% of the main mix) bled Anthropic identity markers into the model.
Training procedure
Two-stage QLoRA on a single RTX 3060 Ti (8 GB):
Stage 1 — Main mix (4h 12m wall-clock):
- LoRA r=32, alpha=64, dropout=0, targets all linear projections
- 4-bit base (bnb), bf16 compute, batch=1, grad_accum=8 (eff batch=8)
- 2 epochs, LR 2e-4, linear schedule, 100 warmup steps
- Final train loss 1.349 / eval loss 1.379 (no overfitting)
Stage 2 — Identity SFT (~5 min wall-clock):
- Continued training of stage-1 adapter for 3 epochs on 396 identity examples
- batch=1, grad_accum=4, LR 1e-4, 20 warmup steps
- Final loss 0.135 (strong memorization)
The released weights are stage-1 LoRA + stage-2 LoRA merged into the FP16 base.
Known limitations
- Empty
<think>blocks. The Qwen3 chat template inserts an empty<think>\n\n</think>block before each assistant turn, and the model was not trained to fill it. Reasoning still happens in the visible response; the thinking channel is just unused. Fix planned for v0.2. - Token-budget verbosity. The model is more concise than base Qwen3-4B (it stays within token budgets more reliably), but base Qwen3-4B may be preferable when you want verbose visible reasoning and have generous output budgets.
- English-focused. Training data was English; non-English performance falls back to base Qwen3-4B capability.
- Small base. This is a 4B model. Hard reasoning, long-context coding, and broad world knowledge are bounded by base Qwen3-4B's capacity. For harder tasks, try Qwen3-8B or larger.
Disclaimer
This is an independent open-source research preview. It is not affiliated with, endorsed by, or representing:
- Anthropic (Claude). The model's training data includes synthetic Claude outputs from a public Apache-2.0 dataset (
angrygiraffe/claude-opus-4.6-4.7-reasoning-8.7k); the released model is not Claude and should not be presented as such. - OpenAI (GPT/ChatGPT).
- Meta (LLaMA).
- Google (Gemini/Bard).
- Alibaba (Qwen team). The base model Qwen3-4B is theirs under their license; this fine-tune is community work.
Citation
@misc{hmanlab-ai-v0.1,
title = {hmanlab-ai v0.1: an agentic + reasoning fine-tune of Qwen3-4B},
author = {rekabytes},
year = {2026},
url = {https://huggingface.co/rekabytes/hmanlab-ai-v0.1}
}
Acknowledgments
- Qwen team for the Qwen3-4B base model
- Lambda Labs for hermes-agent-reasoning-traces
- angrygiraffe for the Opus reasoning dataset
- Unsloth for the QLoRA training stack
- llama.cpp for the GGUF conversion tools
- Downloads last month
- 66