LLaMA-Factory 使用 alpaca 格式的数据集

LLaMA-Factory 使用 alpaca 格式的数据集

flyfish

alpaca 格式最初与Stanford大学的一个研究项目相关联,该项目旨在通过少量高质量的数据来微调大型语言模型。它受到了Alpaca模型(一种基于LLaMA的指令跟随模型)的影响,该模型是在Meta AI的LLaMA基础上进行改进而来的。

alpaca 格式的数据集应遵循以下格式:

[{"instruction": "user instruction (required)","input": "user input (optional)","output": "model response (required)","system": "system prompt (optional)","history": [["user instruction in the first round (optional)", "model response in the first round (optional)"],["user instruction in the second round (optional)", "model response in the second round (optional)"]]}
]

在 data/dataset_info.json 文件中提供您的数据集定义,并采用以下格式:

对于 alpaca 格式的数据集,其 dataset_info.json 文件中的列应为:

"dataset_name": {"file_name": "dataset_name.json","columns": {"prompt": "instruction","query": "input","response": "output","system": "system","history": "history"}
}

字段作用

instruction: 用户给出的指令或问题,是必须提供的信息。
input: 可选的额外输入信息,可以为空,用于提供给定指令的上下文或具体例子。
output: 模型根据指令和输入产生的响应,是必须提供的信息。
system: 可选的系统提示,用来为整个对话设定场景或提供指导原则。
history: 一个列表,包含之前轮次的对话记录,每一对都是用户消息和模型回复。这有助于保持对话的一致性和连贯性。

示例1: 单轮对话

[{"instruction": "解释一下什么是人工智能。","input": "","output": "人工智能(Artificial Intelligence, AI)是指由人制造出来的具有一定智能的系统,能够理解和学习人类的行为,并且能够执行任务、解决问题以及适应新环境。它通常包括机器学习、自然语言处理、计算机视觉等技术领域。","system": "你是一位专业的AI讲师。","history": []}]

在这个例子中:

instruction 是用户给模型的指令。
input 字段为空,因为没有额外的信息提供给模型。
output 是模型根据指令生成的回答。
system 提供了一个角色设定,让模型扮演一位AI讲师。
history 列表为空,表示这是一个新的对话,之前没有对话历史。

示例2: 多轮对话

[{"instruction": "告诉我明天济南的天气。","input": "","output": "明天济南的天气预报显示是晴天,气温大约在15到25摄氏度之间。","system": "你是一位气象专家。","history": [["今天济南的天气怎么样?", "今天济南的天气是多云转晴,气温大约在10到20摄氏度之间。"]]},{"instruction": "那后天呢?","input": "","output": "后天济南可能会有小雨,气温会稍微下降一些,预计在13到22摄氏度左右。","system": "你是一位气象专家。","history": [["今天济南的天气怎么样?", "今天济南的天气是多云转晴,气温大约在10到20摄氏度之间。"],["告诉我明天济南的天气。", "明天济南的天气预报显示是晴天,气温大约在15到25摄氏度之间。"]]}]

在这个多轮对话的例子中:

第一条记录包含了用户询问明天济南天气的指令,以及模型给出的回答。
history 包含了前一轮对话的内容,这样可以让模型理解当前对话的上下文。
第二条记录则是继续上一轮的对话,询问后天的天气情况,同时history也更新为包含前面所有对话的历史。

模型能够一次性从新闻文章中提取出多个关键信息(如事件类型、地点、时间等),alpaca格式的数据集

[{"instruction": "从以下文本中提取发生的事件类型、地点和时间。","input": "昨天,在加州的一家购物中心发生了一起火灾事故,幸好没有人员伤亡。","output": "事件类型: 火灾; 地点: 加州; 时间: 昨天","system": "你是一位信息分析师,擅长从文本中提取关键信息。","history": []},{"instruction": "从以下文本中提取发生的事件类型、地点和时间。","input": "本周三,加州市中心的一座办公楼发生了爆炸,造成多人受伤。","output": "事件类型: 爆炸; 地点: 加州市中心; 时间: 本周三","system": "你是一位信息分析师,擅长从文本中提取关键信息。","history": []},{"instruction": "从以下文本中提取发生的事件类型、地点和时间。","input": "上个月底,加州的一个工业园区内发生化学品泄漏,导致附近居民紧急疏散。","output": "事件类型: 化学品泄漏; 地点: 加州的一个工业园区; 时间: 上个月底","system": "你是一位信息分析师,擅长从文本中提取关键信息。","history": []}
]

instruction 给出了明确的任务指示,即从给定文本中提取事件类型、地点和时间。
input 是包含相关信息的原始新闻文本。
output 则是模型应该生成的答案,它以结构化的方式列出了所有的关键信息。
system 提供了角色设定,帮助模型理解其任务背景。
history 在这个情况下为空,因为每个条目都是独立的单轮对话。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/54763.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 入门教程(3)基础知识 | 3.7、pass 关键字

文章目录 一、pass 关键字1、定义与用法2、pass 关键字的用法2.1、函数定义中的占位符2.2、 类定义中的占位符2.3、条件语句中的占位符2.4、循环中的占位符 3、注意事项 一、pass 关键字 1、定义与用法 pass语句用作将来代码的占位符。当执行pass语句时,不会有任何…

【RabbitMQ 项目】服务端:服务器模块

文章目录 一.编写思路二.代码实践三.服务端模块关系总结 一.编写思路 成员变量: muduo 库中的 TCP 服务器EventLoop 对象:用于主线程循环监控连接事件协议处理句柄分发器:用于初始化协议处理器,便于把不同请求派发给不同的业务处理…

【FastAPI】使用FastAPI和Redis实现实时通知(SSE)

在当今快速发展的Web应用程序中,实时通知已成为用户体验的重要组成部分。无论是社交媒体更新、消息通知,还是系统状态提醒,实时数据推送可以极大地提升用户互动性。本文将详细介绍如何使用FastAPI和Redis实现Server-Sent Events (SSE) 来推送…

模拟电路工程师面试题

一、基础知识题 描述三极管的基本工作原理及其三种工作状态。 分析:此题考察对三极管(NPN或PNP)基本工作原理的理解,包括截止区、放大区和饱和区的特点及其条件。解释什么是反馈,并说明正反馈和负反馈的区别。 分析:反馈是放大器设计中的重要概念,正反馈会增加放大器的增…

【AI】简单了解AIGC与ChatGPT

● AIGC(AI-Generated Content,人工智能生成内容)指的是利用人工智能技术自动生成内容,包括文本、图像、音频、视频等。AIGC的应用非常广泛。AIGC的核心在于利用AI技术来创造新的内容,提高生产效率,降低成本…

java mybaits oracle插入返回主键

在MyBatis中,要实现在插入数据后返回主键,可以在Mapper的XML文件中使用useGeneratedKeys属性和keyProperty属性。以下是一个示例: 首先,确保你的Oracle表有一个可以自动生成主键的字段,比如使用Oracle的序列。 CREAT…

JMeter(需要补充请在留言区发给我,谢谢)

一、学习工具 1、CinfigElement(HTTP Request Defaults、HTTP Header Manager、HTTP Authorization、CSV Data Set Config、User Defined Variables、JDBC Connection Configuration、HTTP Cookie Manager、Random Variable) 二、协议 1、HTTP协议(消息体数据&am…

S开头的词根词缀:se-+sub-+suc/suf/supsur+sur-+super+sym/syn+

提到s这个词缀, 表异同,既表近似syn/syn,又表示分离se。 表方位,既表示上,又表示下。 se 70.se-表示"分开,离开,区别开" secede正式退出(组织)(…

oracle 数据库中的异常和游标管理

异常和游标管理 游标: 用来查询数据库,获取记录集合(结果集)的指针,可以让开发者一次访问一行结果集,在每条结果集上作操作。 分类: 静态游标: 分为显式游标和隐式游标。 REF游标&…

Golang | Leetcode Golang题解之第433题最小基因变化

题目: 题解: func diffOne(s, t string) (diff bool) {for i : range s {if s[i] ! t[i] {if diff {return false}diff true}}return }func minMutation(start, end string, bank []string) int {if start end {return 0}m : len(bank)adj : make([][…

OpenHarmony标准系统mipi摄像头适配

OpenHarmony标准系统mipi摄像头适配 本文档以rk3568为例,讲述如何在OpenHarmony 标准系统rk设备上适配mipi摄像头。 开发环境 OpenHarmony标准系统4.1rrk3568设备摄像头ov5648,ov8858 文档约定:4.1r_3568为OpenHarmony标准系统源码根目录 1.适配准备:得…

C++条件变量详解(一看就懂)

首先,我们先来认识一下条件变量。 条件变量是一种同步原语,通常用于在多线程编程中,使一个线程在特定条件满足之前等待,同时允许其他线程在该条件发生更改时通知等待的线程。 1. “等待”:当条件不满足时(…

树莓派pico上手

0 介绍 不同于作为单板计算机的树莓派5,树莓派 pico 是一款低成本、高性能的微控制器板,具有灵活的数字接口。主要功能包括: 英国树莓派公司设计的 RP2040 微控制器芯片双核 Arm Cortex M0 处理器,弹性的时钟频率高达 133 MHz26…

js 如何监听 body 内容是否改变

如果您想监听body内容的变化,并作出响应,可以使用MutationObserver。以下是一个简单的例子,它会在body内容变化时在控制台输出一条消息: // 创建一个观察者对象 const observer new MutationObserver(function(mutations, obser…

Spring AOP的应用

目录 1、maven坐标配置与xml头配置 2、代理方式的选择与配置 3、AOP的三种配置方式 3.1、XML模式 3.1.1 创建目标类和方法 3.1.2 创建切面 3.1.3 切面xml配置与表达式说明 3.1.4 单测 3.2 纯注解模式 3.2.1 开启注解相关配置 3.2.2 创建目标类和方法 3.2.3 创建切面…

FGPA实验——触摸按键

本文系列都基于正点原子新起点开发板 FPGA系列 1,verlog基本语法(随时更新) 2,流水灯(待定) 3,FGPA实验——触摸按键 一、触摸操作原理实现 分类:电阻式(不耐用&…

二叉树进阶

目录 1. 二叉搜索树实现 1.1 二叉搜索树概念 2.2 二叉搜索树操作 ​编辑 ​编辑 2.3 二叉搜索树的实现 2.3.0 Destroy() 析构 2.3.1 Insert()插入 2.3.2 InOrder() 打印搜索二叉树 ​编辑​编辑 2.3.3 Find() 查找 …

el-table表格点击该行任意位置时也勾选上其前面的复选框

需求&#xff1a;当双击表格某一行任意位置时&#xff0c;自动勾选上其前面的复选框 1、在el-table 组件的每一行添加row-dblclick事件&#xff0c;用于双击点击 <el-table:data"tableData"ref"tableRef"selection-change"handleSelectionChange&q…

几种主流的`Content-Type`与其对应的数据格式的例子

application/json: 用于发送和接收JSON格式的数据。例如&#xff0c;可以使用以下代码将JSON数据发送到服务器&#xff1a; $.ajax({url: "/api/endpoint",type: "POST",contentType: "application/json",data: JSON.stringify({ key: "va…

如何在Chrome最新浏览器中调用ActiveX控件?

小编最近登陆工商银行网上银行&#xff0c;发现工商银行的个人网银网页&#xff0c;由于使用了ActiveX安全控件&#xff0c;导致不能用高版本Chrome浏览器打开&#xff0c;目前只有使用IE或基于IE内核的浏览器才能正常登录网上银行&#xff0c;而IE已经彻底停止更新了&#xff…