instructions for adding personas

This commit is contained in:
Alex O'Connell
2024-02-17 23:13:45 -05:00
parent 43510d1d7c
commit c285e3c6a9
3 changed files with 27 additions and 5 deletions

View File

@@ -37,8 +37,25 @@ Supported datasets right now are:
Please note that the supported datasets all have different licenses. Be aware that the license of the resulting data mixture might be different that the license of this dataset alone.
## Adding new Home Assistant functionality
TODO:
## Adding a new personality
TODO:
In order to add a new personality, you need to define a new system prompt and new set of responses for the assistant. The system prompt is the description of the assistant's behavior that occurs at the start of the context. The responses are what is said back to the user when performing a task. The model should stil respond with the correct service call no matter what the assistant's response is. The list of system prompts are stored in `pile_of_system_prompts.csv`, and the list of responses are stored in `pile_of_responses.csv`
There are 2 columns in `pile_of_system_prompts.csv`:
- `persona`: the name of the persona
- `prompt`: the system prompt to use for that persona. Recommended to put this in quotes in case the prompt also has commas in it
The response pile is a CSV with the following headers: `service,response,language,persona,short`
- `service`: the service name that we are responding to. Make sure you cover enough different services so that the model can learn how to respond in all situations.
- `resposne`: the text of the repsonse. Recommended to put this in quotes in case the response also has commas in it
- `language`: the language code of the response (currently only `en` is supported)
- `persona`: the name of the persona the response belongs to. Use the name of your persona here
- `short`: either 0 or 1. If it is 1 then the response is considered "short', and can be combined together with other "short" repsonses using "and". These are used for examples where there are multiple service calls
Generating the full dataset using the python script will print out a warning for any responses that are missing for a persona
## Adding new Home Assistant functionality
TODO
<!-- In order to add new home assistant device types, you will need to add data to a handful of piles, as well as make small modifications to the `generate_home_assistant_data.py` script.
1. Add 15-30 new device names with the new type to the `pile_of_device_names.csv`. This should be an entity_id and a 'friendly name'
2. Add
-->

View File

@@ -66,3 +66,8 @@
- 3600: 0.963314358001265
- 4000: 0.9614168247944339
- Final: 0.9538266919671095
# rev4
- lora rank: 64, alpha: 128
- dataset size: large (with new device types)
+ evaluation results:

View File

@@ -67,7 +67,7 @@ python3 train.py \
"""
python3 train.py \
--run_name stablehome-3b-rev3 \
--run_name stablehome-3b-rev4 \
--base_model stabilityai/stablelm-zephyr-3b \
--bf16 \
--train_dataset data/home_assistant_train.jsonl \