Instructions to use franktheglock/HA-2B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- llama-cpp-python
How to use franktheglock/HA-2B with llama-cpp-python:
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="franktheglock/HA-2B", filename="Qwen3.5-2B.BF16-mmproj.gguf", )
llm.create_chat_completion( messages = "No input example has been defined for this model task." )
- Notebooks
- Google Colab
- Kaggle
- Local Apps
- llama.cpp
How to use franktheglock/HA-2B with llama.cpp:
Install from brew
brew install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama-server -hf franktheglock/HA-2B:BF16 # Run inference directly in the terminal: llama-cli -hf franktheglock/HA-2B:BF16
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama-server -hf franktheglock/HA-2B:BF16 # Run inference directly in the terminal: llama-cli -hf franktheglock/HA-2B:BF16
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 franktheglock/HA-2B:BF16 # Run inference directly in the terminal: ./llama-cli -hf franktheglock/HA-2B:BF16
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 franktheglock/HA-2B:BF16 # Run inference directly in the terminal: ./build/bin/llama-cli -hf franktheglock/HA-2B:BF16
Use Docker
docker model run hf.co/franktheglock/HA-2B:BF16
- LM Studio
- Jan
- Ollama
How to use franktheglock/HA-2B with Ollama:
ollama run hf.co/franktheglock/HA-2B:BF16
- Unsloth Studio
How to use franktheglock/HA-2B 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 franktheglock/HA-2B 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 franktheglock/HA-2B to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for franktheglock/HA-2B to start chatting
- Pi
How to use franktheglock/HA-2B with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama-server -hf franktheglock/HA-2B:BF16
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": "franktheglock/HA-2B:BF16" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Hermes Agent new
How to use franktheglock/HA-2B with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama-server -hf franktheglock/HA-2B:BF16
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 franktheglock/HA-2B:BF16
Run Hermes
hermes
- Docker Model Runner
How to use franktheglock/HA-2B with Docker Model Runner:
docker model run hf.co/franktheglock/HA-2B:BF16
- Lemonade
How to use franktheglock/HA-2B with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull franktheglock/HA-2B:BF16
Run and chat with the model
lemonade run user.HA-2B-BF16
List all available models
lemonade list
Install from WinGet (Windows)
winget install llama.cpp
# Start a local OpenAI-compatible server with a web UI:
llama-server -hf franktheglock/HA-2B:BF16# Run inference directly in the terminal:
llama-cli -hf franktheglock/HA-2B:BF16Use 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 franktheglock/HA-2B:BF16# Run inference directly in the terminal:
./llama-cli -hf franktheglock/HA-2B:BF16Build 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 franktheglock/HA-2B:BF16# Run inference directly in the terminal:
./build/bin/llama-cli -hf franktheglock/HA-2B:BF16Use Docker
docker model run hf.co/franktheglock/HA-2B:BF16HA-2B
Home Assistant Control | Fine-tuned Qwen 3.5 2B
HA-2B is a LoRA fine-tune of Qwen 3.5 2B on the Home-Assistant-Requests-V2 dataset. It's designed to understand and execute smart home control commands, turning lights on/off, managing blinds, locking doors, querying sensor states, and any other Home Assistant automation task.
Training Details
| Hyperparameter | Value |
|---|---|
| Base model | unsloth/Qwen3.5-2B |
| Dataset | acon96/Home-Assistant-Requests-V2 (208,976 rows) |
| Format | ChatML (auto-detected) |
| Sequence length | 2048 |
| Steps | 30 |
| Batch size | 2 (effective 8 with 4× gradient accumulation) |
| Learning rate | 2e-4 |
| Optimizer | AdamW 8-bit |
| LoRA rank | 16 |
| LoRA alpha | 16 |
| LoRA dropout | 0.0 |
| Target modules | Q, K, V, O, Gate, Up, Down projections |
| Precision | bfloat16 |
| Warmup steps | 5 |
| LR scheduler | Linear |
| Packing | Disabled |
| Weight decay | 0.001 |
| Gradient checkpointing | Unsloth |
| Final training loss | 1.37 |
| Hardware | Dual NVIDIA RTX 3060 12GB |
Usage
The model uses standard ChatML conversation format. Load the base model and LoRA adapter:
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
base_model = "Qwen/Qwen3.5-2B"
lora_adapter = "path/to/ha-2b-adapter"
tokenizer = AutoTokenizer.from_pretrained(base_model, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
base_model,
torch_dtype="bfloat16",
device_map="auto",
trust_remote_code=True,
)
model = PeftModel.from_pretrained(model, lora_adapter)
Inference Example
<|system|>
You are 'Al', a helpful AI Assistant that controls the devices in a house.
Complete the following task as instructed.
<|user|>
turn off the living room light
<|assistant|>
Turning off the living room light now.
The dataset also includes structured tool-calling examples with function definitions (HassTurnOn, HassTurnOff, etc.) for programmatic device control.
Intended Use
- Smart home voice/text assistants
- Home Assistant / openHAB / Hubitat integrations
- Tool-calling for device control
- Natural language to home automation commands
Limitations
- Fine-tuned primarily on English residential smart home scenarios
- 2B parameter size, capable but not as nuanced as larger models
- Training was brief (30 steps, ~0.14 epochs) — more steps would likely improve convergence
Hardware & Tools
- GPUs: NVIDIA RTX 3060 12GB
- Training framework: Unsloth Studio 2026.5.8
- Base model: Qwen 3.5 2B (4-bit QLoRA)
- Downloads last month
- 102
4-bit
Install from brew
# Start a local OpenAI-compatible server with a web UI: llama-server -hf franktheglock/HA-2B:BF16# Run inference directly in the terminal: llama-cli -hf franktheglock/HA-2B:BF16