acon96/Home-Assistant-Requests
收藏Home Assistant Requests Dataset
概述
该数据集包含用户与控制Home Assistant实例的个人助手交互的请求和响应列表。
数据集生成
数据集由不同的CSV“堆”生成。这些“堆”包含不同的请求块,这些请求块被组装成最终的上下文,呈现给LLM。例如,piles/pile_of_device_names.csv仅包含各种设备的名称,这些名称将作为上下文的一部分,并插入到piles/pile_of_templated_actions.csv和piles/pile_of_status_requests.csv中。从堆生成最终数据集的逻辑包含在generate_home_assistant_data.py中。
生成命令
bash python3 generate_home_assistant_data.py --train --test --large --sharegpt
支持的数据集分割有--test、--train和--sample。设置训练数据集大小的参数有--small、--medium、--large和--xl。支持的格式有--raw_corpus(chatml格式)和--sharegpt。
合并其他指令数据集
bash python3 generate_home_assistant_data.py --merge <dataset>
当前支持的数据集有:
alpacawizardlm70k
请注意,支持的数据集具有不同的许可证。请注意,生成的数据混合许可证可能与该数据集单独的许可证不同。
添加新角色
要添加新角色,需要定义一个新的系统提示和新的一组助手响应。系统提示是上下文开始时助手的描述。响应是执行任务时对用户的回复。无论助手的响应是什么,模型都应该以正确的服务调用进行响应。系统提示列表存储在pile_of_system_prompts.csv中,响应列表存储在pile_of_responses.csv中。
系统提示CSV
pile_of_system_prompts.csv包含以下两列:
persona:角色的名称prompt:用于该角色的系统提示。建议将提示放在引号中,以防提示中也有逗号
响应CSV
pile_of_responses.csv包含以下列头:
service:我们正在响应的服务名称。确保涵盖足够多的不同服务,以便模型可以学习如何在所有情况下进行响应response:响应的文本。建议将响应放在引号中,以防响应中也有逗号language:响应的语言代码(目前仅支持en)persona:响应所属角色的名称。在此处使用角色的名称short:0或1。如果是1,则响应被视为“短”,可以与其他“短”响应一起使用“and”进行组合。这些用于存在多个服务调用的示例
使用Python脚本生成完整数据集时,会为任何缺失的响应打印警告。




