TitleOS/HomePhi4_4B
HomePhi4_4B-FP16 is a fine-tuned version of Microsoft's Phi-4 Mini Reasoning (3.8B parameters), specifically optimized for controlling Home Assistant instances via natural language. The Lora adapter was then merged against the original FP16 model to create this instance.
It has been fine-tuned on the acon96/Home-Assistant-Requests dataset to excel at interpreting user intent and generating accurate JSON function calls to control smart home devices (lights, fans, switches, etc.). This model is designed to be small enough to run locally on edge hardware (like an N100 or Raspberry Pi 5 with 8GB RAM) while maintaining high reasoning capabilities.
Model Details
- Model Architecture: Phi-4 Mini (Dense Decoder-only Transformer)
- Parameters: ~3.8 Billion
- Context Length: 128k tokens (Effective fine-tuning context: ~4096)
- Base Model:
microsoft/Phi-4-mini-instruct - Fine-tuning Dataset:
acon96/Home-Assistant-Requests - License: MPL-2.0
Intended Use
This model is strictly intended for local smart home control. It acts as a natural language interface for Home Assistant, translating requests like "Turn off the kitchen lights" into structured JSON commands that Home Assistant integrations (like llama_conversation or Extended OpenAI Conversation) can execute.
It is not a general-purpose assistant and may hallucinate if asked about history, math, or coding outside the scope of home automation.
Prompt Format
To get the best performance, you must adhere to the prompt format used during training. The model expects a system prompt that defines its persona and lists the available devices and tools.
System Prompt Template:
I want you to act as smart home expert manager of Home Assistant.
Current Time: {{now()}}
Available Devices:
```csv
entity_id,name,state,aliases
{% for entity in exposed_entities -%}
{{ entity.entity_id }},{{ entity.name }},{{ entity.state }},{{entity.aliases | join('/')}}
{% endfor -%}
You have access to the internet and other tools. The current state of devices is provided in available devices. Use execute_services function only for requested action, not for current states. Do not execute service without user's confirmation. Do not restate or appreciate what user says, rather make a quick inquiry. In addition, answer questions about the world, news, and general knowledge when requested. If requested by the user your name is AI. If a request appears to be an accident or otherwise doesn't make sense, reply with "Canceled".
Quantized Models/GGUFs:
Merged Model FP16: https://huggingface.co/TitleOS/HomePhi4_4B_Merged
Q_8: https://huggingface.co/TitleOS/HomePhi4_4B_Merged-Q8_0-GGUF
Q4_K_M: https://huggingface.co/TitleOS/HomePhi4_4B_Merged-Q4_K_M-GGUF
- Downloads last month
- 13