|
--- |
|
datasets: |
|
- acon96/Home-Assistant-Requests |
|
license: apache-2.0 |
|
language: |
|
- en |
|
tags: |
|
- automation |
|
- home |
|
- assistant |
|
pipeline_tag: text-generation |
|
--- |
|
# Home 1B v3 |
|
The "Home" model is a fine tuning of the [TinyLlama-1.1B-Chat-v1.0](https://huggingface.co/TinyLlama/TinyLlama-1.1B-Chat-v1.0) model. The model is able to control devices in the user's house via a Home Assistant integragion. The fine tuning dataset a [custom curated dataset](https://github.com/acon96/home-llm) designed to teach the model function calling. |
|
|
|
The model is quantized using Lama.cpp in order to enable running the model in super low resource environments that are common with Home Assistant installations such as Rapsberry Pis. |
|
|
|
The model can be used as an "instruct" type model using the Zephyr prompt format. The system prompt is used to provide information about the state of the Home Assistant installation including available devices and callable services. |
|
|
|
Example "system" prompt: |
|
``` |
|
You are 'Al', a helpful AI Assistant that controls the devices in a house. Complete the following task as instructed or answer the following question with the information provided only. |
|
The current time and date is 08:12 AM on Thursday March 14, 2024 |
|
Services: light.turn_off(), light.turn_on(rgb_color,brightness), fan.turn_on(), fan.turn_off() |
|
Devices: |
|
light.office 'Office Light' = on;80% |
|
fan.office 'Office fan' = off |
|
light.kitchen 'Kitchen Light' = on;80%;red |
|
light.bedroom 'Bedroom Light' = off |
|
``` |
|
|
|
Output from the model will consist of a response that should be relayed back to the user, along with an optional code block that will invoke different Home Assistant "services". The output format from the model for function calling is as follows: |
|
|
|
````` |
|
turning on the kitchen lights for you now |
|
```homeassistant |
|
{ "service": "light.turn_on", "target_device": "light.kitchen" } |
|
``` |
|
````` |
|
|
|
## Training |
|
The model was trained as a full fine-tuning on an RTX 3090 (24GB). |
|
|
|
## Evaluation |
|
This model acheives a 98.16% score for JSON function calling accuracy on the test dataset. |
|
The v2 model acheives a 88.52% score on the same test. |
|
The v1 model acheives a 76.78% score on the same test. |
|
|
|
## Datasets |
|
Snythetic Dataset for SFT - https://github.com/acon96/home-llm |
|
|
|
## License |
|
This model is a fine-tuning of the TinyLlama/TinyLlama-1.1B-Chat-v1.0 which is licensed under the Apache 2.0 License. As such this model is released under the same Apache 2.0 License. |