如何利用dify 生成Fine‑tune 需要的Alpaca 格式数据

如果你选择llamafactory 格式进行微调,它只是格式是Alpaca格式,dify 的agent dsl 如下,你可以导入本地的dify 或者导入cloud 版本的;测试版本是0.1.5

app:description: '上传文件,基于文件内容,使用 SiliconCloud 128K 上下文的 Qwen2.5 模型,生成日常问答内容,JSONL 格式的语料数据⚠️ 注:- 由于 Dify 限制,超过 80000 字符的文件内容会被截断- 生成内容仅供参考,可能存在幻觉或内容错漏、格式错误,请注意甄别'icon: 🤖icon_background: '#FFEAD5'mode: workflowname: 'Fine-tune语料构造器Alpaca格式 'use_icon_as_answer_icon: false
kind: app
version: 0.1.5
workflow:conversation_variables: []environment_variables: []features:file_upload:allowed_file_extensions:- .JPG- .JPEG- .PNG- .GIF- .WEBP- .SVGallowed_file_types:- imageallowed_file_upload_methods:- local_file- remote_urlenabled: falsefileUploadConfig:audio_file_size_limit: 50batch_count_limit: 5file_size_limit: 15image_file_size_limit: 10video_file_size_limit: 100workflow_file_upload_limit: 10image:enabled: falsenumber_limits: 3transfer_methods:- local_file- remote_urlnumber_limits: 3opening_statement: ''retriever_resource:enabled: truesensitive_word_avoidance:enabled: falsespeech_to_text:enabled: falsesuggested_questions: []suggested_questions_after_answer:enabled: falsetext_to_speech:enabled: falselanguage: ''voice: ''graph:edges:- data:isInIteration: falsesourceType: starttargetType: document-extractorid: 1735807686274-source-1735807758092-targetsource: '1735807686274'sourceHandle: sourcetarget: '1735807758092'targetHandle: targettype: customzIndex: 0- data:isInIteration: falsesourceType: document-extractortargetType: codeid: 1735807758092-source-1735807761855-targetsource: '1735807758092'sourceHandle: sourcetarget: '1735807761855'targetHandle: targettype: customzIndex: 0- data:isInIteration: falsesourceType: codetargetType: llmid: 1735807761855-source-1735807764975-targetsource: '1735807761855'sourceHandle: sourcetarget: '1735807764975'targetHandle: targettype: customzIndex: 0- data:isInIteration: falsesourceType: llmtargetType: endid: 1735807764975-source-1735807769820-targetsource: '1735807764975'sourceHandle: sourcetarget: '1735807769820'targetHandle: targettype: customzIndex: 0nodes:- data:desc: ''selected: falsetitle: 开始type: startvariables:- allowed_file_extensions: []allowed_file_types:- documentallowed_file_upload_methods:- local_file- remote_urllabel: 语料文件max_length: 10options: []required: truetype: file-listvariable: attachments- allowed_file_extensions: []allowed_file_types:- imageallowed_file_upload_methods:- local_file- remote_urllabel: 触发词(训练中的 system prompt)max_length: 48options: []required: truetype: text-inputvariable: triggerheight: 116id: '1735807686274'position:x: 30y: 258positionAbsolute:x: 30y: 258selected: falsesourcePosition: righttargetPosition: lefttype: customwidth: 244- data:desc: ''is_array_file: trueselected: falsetitle: 文档提取器type: document-extractorvariable_selector:- '1735807686274'- attachmentsheight: 92id: '1735807758092'position:x: 334y: 258positionAbsolute:x: 334y: 258selected: falsesourcePosition: righttargetPosition: lefttype: customwidth: 244- data:code: "def main(articleSections: list) -> dict:\n    try:\n        # 将列表项合并为字符串\n\\        combined_text = \"\\n\".join(articleSections)\n        \n     \\   # 截取前80000个字符\n        truncated_text = combined_text[:80000]\n    \\    \n        return {\n            \"result\": truncated_text\n      \\  }\n    except Exception as e:\n        # 错误处理\n        return {\n   \\         \"result\": \"\"\n        }"code_language: python3desc: ''outputs:result:children: nulltype: stringselected: falsetitle: 代码执行type: codevariables:- value_selector:- '1735807758092'- textvariable: articleSectionsheight: 54id: '1735807761855'position:x: 638y: 258positionAbsolute:x: 638y: 258selected: falsesourcePosition: righttargetPosition: lefttype: customwidth: 244- data:context:enabled: falsevariable_selector: []desc: ''model:completion_params:frequency_penalty: 0.5max_tokens: 4096temperature: 0.3mode: chatname: Qwen/Qwen2.5-72B-Instruct-128Kprovider: siliconflowprompt_template:- id: b6913d40-d173-45d8-b012-98240d42a196role: systemtext: "【角色】  \n你是一位 LLM 大语言模型科学家,参考用户提供的「内容」,帮助用户构造符合规范的 Fine‑tune(微调)数据。\\  \n\n【任务】  \n- 针对每次给定的「内容」,生成通俗易懂、贴近现实的「问题」(instruction);  \n- 针对每个「问题」,引用「内容」原文并结合合理解释,给出忠实于原文主旨的「解答」(output);\\  \n- 最终所有条目以 Alpaca 格式输出,每条一行 JSON,组成合法的 JSONL 文件。  \n\n【Alpaca 格式说明】\\  \n每条数据必须包含三个字段:  \n```json\n{\n  \"instruction\": \"问题(贴近现实、通俗白话)\"\,\n  \"input\": \"使用用户指定的「触发词」\",\n  \"output\": \"解答(忠于原文、合理演绎)\"\n}\n\```\n\n【要求】\n1.“instruction” 中的问题不要直接照搬「内容」原句,需贴近当代生活场景;\n2.问题用语通俗,避免“假、大、空”;\n\3.“output” 必须忠于原文主旨,不得曲解;可在原文基础上合理演绎;\n\n【输出规范】\n1.输出为标准 JSONL 文本,每行一个\\ JSON 对象;\n2.不要在输出中添加多余注释或说明文字;\n3.每行对应一条训练样本;\n4.保证整体文件格式合法,可直接用于微调。\n\【示例】\n```json\n{\"instruction\": \"为什么我们在家里养的绿植会在有阳光的房间里长得更好?\", \"input\"\: \"光合作用是植物将光能转化为化学能的过程……\", \"output\": \"因为光合"- id: 61530521-14cf-4eaf-8f06-a4bc89db3cb1role: usertext: '「内容」{{#1735807761855.result#}}「触发词」{{#1735807686274.trigger#}}'selected: falsetitle: LLMtype: llmvariables: []vision:enabled: falseheight: 98id: '1735807764975'position:x: 937.9650491140262y: 258positionAbsolute:x: 937.9650491140262y: 258selected: truesourcePosition: righttargetPosition: lefttype: customwidth: 244- data:desc: ''outputs:- value_selector:- '1735807764975'- textvariable: textselected: falsetitle: 结束type: endheight: 90id: '1735807769820'position:x: 1246y: 258positionAbsolute:x: 1246y: 258selected: falsesourcePosition: righttargetPosition: lefttype: customwidth: 244- data:author: Difydesc: ''height: 88selected: falseshowAuthor: truetext: '{"root":{"children":[{"children":[{"detail":0,"format":0,"mode":"normal","style":"","text":"设置较低的Temperature,提高输出格式的稳定性","type":"text","version":1}],"direction":"ltr","format":"","indent":0,"type":"paragraph","version":1,"textFormat":0}],"direction":"ltr","format":"","indent":0,"type":"root","version":1}}'theme: bluetitle: ''type: ''width: 240height: 88id: '1735808753316'position:x: 951.4285714285714y: 375.7142857142857positionAbsolute:x: 951.4285714285714y: 375.7142857142857selected: falsesourcePosition: righttargetPosition: lefttype: custom-notewidth: 240- data:author: Difydesc: ''height: 88selected: falseshowAuthor: truetext: '{"root":{"children":[{"children":[{"detail":0,"format":0,"mode":"normal","style":"","text":"合并多个文档内容,并截取前8W 字符","type":"text","version":1}],"direction":"ltr","format":"","indent":0,"type":"paragraph","version":1,"textFormat":0}],"direction":"ltr","format":"","indent":0,"type":"root","version":1}}'theme: bluetitle: ''type: ''width: 240height: 88id: '1735808799815'position:x: 640y: 338.5714285714286positionAbsolute:x: 640y: 338.5714285714286selected: falsesourcePosition: righttargetPosition: lefttype: custom-notewidth: 240viewport:x: 16.889594857123143y: 9.872527989539648zoom: 0.7632446373312666

如果你想生产openai 支持的JSONL格式,只需要稍微调整下其中LLM 的提示词

【角色】
你是一位 LLM 大语言模型科学家,参考用户提供的内容,帮助用户构造符合规范的 Fine-tune(微调)数据【任务】
- 对于给定的「内容」,你每次回列出尽可能多的通俗「问题」;
- 针对每个「问题」,引用「内容」原文及对内容的合理解释和演绎,做出「解答」;
- 并将「问题」「解答」整理为规范的 JSONL 格式【要求】
1. 问题 **不要** 直接引用「内容」,应该贴近当代现实生活;
2. 问题应该是通俗白话,避免“假、大、空“;
3. 答案应忠于原文,对于原文的解释不能脱离原文的主旨、思想;【输出规范】
* 输出规范的 JSONL,每行一条数据
* 每条数据应包含一个 message 数组,每个数组都应该包含 role 分别为 system、user 和 assistant 的三条记录
* 其中 role 为 system 的数据,作为训练中的 system prompt 格外重要,其 content 使用用户指定的「触发词」
* role 为 user 的数据对应列出的「问题」
* role 为 assistant 的数据则对应针对「问题」的「解答」
* 示例如下:
```
{"messages": [{"role": "system", "content": "你是当代大儒"}, {"role": "user", "content": "应该怎么学习?"}, {"role": "assistant", "content": "贤贤易色;事父母,能竭其力;事君,能致其身;与朋友交,言而有信。虽曰未学,吾必谓之学矣。"}]}
```

Java 码农转型AI 关于微调的更多内容可以查看我的github : https://github.com/caicongyang/ML2LLM/tree/main/LLM/lora

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

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

相关文章

C++开发指南

一、C++ 是什么? C++ 是一种强大、灵活、高性能的系统级编程语言,由 Bjarne Stroustrup 在 20 世纪 80 年代初开发,是 C 语言的超集。它既支持面向过程编程,也支持面向对象、泛型、函数式等现代范式。 C++ 被广泛应用于: 系统软件(如操作系统、编译器)游戏开发(如 Un…

重测序关系矩阵构建方式汇总

样本间亲缘关系矩阵(kinship matrix)和同源性矩阵(IBS matrix)构建的方式 1. 可以使用plink的–make-rel计算个体之间的亲缘关系(强调个体之间的遗传相似性) /opt/software/plink --bfile vcf_bfile--mak…

docker 部署前、后端分离项目详细步骤(从打包到部署)

在平常的开发工作中,一个项目经历需求、开发、测试、上线等步骤。在开发测试完成后,我们需要部署测试环境、生产环境等,那么我们用 docker 方式应该怎么部署呢?前后端分离的项目又该如何部署呢?那么,今天我…

大语言模型理解一般需求到在专业领域中最大限度地发挥其效能的演变轨迹

在人工智能技术飞速发展的当下,大语言模型(LLM)凭借其强大的语言处理能力和广泛的应用潜力,成为了各行业关注的焦点。从最初的文本生成、简单问答,到如今在专业领域的深度应用,大语言模型与用户的交互模式正…

mindyolo填坑

1、按照gitee上的文档跑预测代码,跑不通 更改: 将predict.py复制到跟目录。如果是cpu(本地测试比较常见),那么正确的命令行是: python predict.py --device_targetCPU --config ./configs/yolov7/yolov7.…

Python集合全解析:从基础到高阶应用实战

一、集合核心特性与创建方法 1.1 集合的本质特征 Python集合(Set)是一种​​无序且元素唯一​​的容器类型,基于哈希表实现,具有以下核心特性: ​​唯一性​​:自动过滤重复元素​​无序性​​&#xff…

【javascript】竞速游戏前端优化:高频操作与并发请求的解决方案

文章目录 前言一、性能痛点分析二、核心技术方案1.Web Worker2.Promise高级控制3.智能队列系统4.游戏化节流设计 三、最佳实践选择 前言 在竞速类网页游戏中,玩家高频点击与服务器实时交互会引发两大核心挑战: 客户端性能瓶颈:频繁操作导致…

Linux操作系统系统编程:x86-64架构下的系统调用

在Linux操作系统里,系统编程如同精密仪器的核心部件,掌控着系统运行的关键。而 x86-64 架构下的系统调用,更是连接用户空间程序与内核的关键桥梁。你可以把用户空间的程序想象成一个个 “工匠”,它们有着各式各样的需求&#xff0…

理解数据湖

目录 一、数据湖的定义与相关概念 二、数据湖出现的背景 三、数据湖关键技术 (一)存储技术

前端应用开发技术历程的简要概览

前端应用开发技术详解 一、萌芽期&#xff08;1990s - 2004&#xff09; 技术特征 HTML 3.2 / HTML 4.01 是主流版本。 样式用 CSS1/CSS2&#xff0c;但大部分样式写在 <style> 标签甚至行内。 动态效果主要通过 JavaScript 控制 DOM&#xff0c;兼容性极差。 代表事…

交换机配置DHCP

交换机配置DHCP 背景先关闭路由器的DHCPconsole口连接到交换机配置交换机 背景 路由器的dhcp分配IP地址变慢&#xff0c;怎么处理 先关闭路由器的DHCP 查看路由器中DHCP地址池范围; 关闭路由器的DHCP console口连接到交换机 协议Serial端口COMX波特率9600流控无 配置交换机…

解决Flutter项目中Gradle构建Running Gradle task ‘assembleDebug‘卡顿问题的终极指南

解决Flutter项目中Gradle构建Running Gradle task ‘assembleDebug‘卡顿问题的终极指南 前言 在开发Flutter应用时,经常会遇到Gradle构建卡在Running Gradle task assembleDebug阶段的问题。本文将分享如何通过配置华为云镜像和使用自定义脚本下载依赖的方法解决这些问题。…

AI驱动文字冒险游戏

github地址&#xff1a;https://github.com/thornbsj/ImmenseSimGame 虽然游戏比较简陋&#xff0c;但是由于笔者不想对游戏做过多的“剧透”&#xff0c;因此本文只粗略讲一下大致逻辑以及部分代码&#xff0c;有兴趣的朋友可以看上面的仓库获得更详细的部分。 一、状态机改…

springboot中有关数据库信息转换的处理

现代项目一般都是前后端分离的&#xff0c;前端只负责展示数据&#xff0c;不负责对数据处理&#xff0c;所以所有数据处理工作都由后端进行 比如在仿京东中的status&#xff0c;审核信息展示&#xff0c;数据库中是以0/1显示&#xff0c;但是前端需要以"审核/未审核&quo…

提示词版本化管理:AI开发中被忽视的关键环节

当我的提示词"消失"在团队协作中 上周五下午&#xff0c;我经历了一场小型"灾难"。作为一名AI产品经理&#xff0c;我花了整整三天精心打磨的客服机器人提示词&#xff0c;在周末更新后突然"失效"了。机器人不再能够准确识别用户意图&#xff0…

Centos Ubuntu RedOS系统类型下查看系统信息

文章目录 一、项目背景二、页面三、说明四、代码1.SysInfo2.EmsSysConfig3.HostInformationController4.HostInfo 一、项目背景 公司项目想展示当前部署系统的&#xff1a;操作系统&#xff0c;软件版本、IP、主机名。 二、页面 三、说明 说明点1&#xff1a;查询系统类型及…

阿里云自动备份网站,阿里云自动备份网站的方法

阿里云提供了多种自动备份网站的方法&#xff0c;适用于不同场景和需求&#xff0c;用户可根据自身技术能力和业务要求选择合适的方案。以下是几种主流的自动备份方法及操作要点&#xff1a; 一、基于云服务器ECS的自动快照备份 适用场景&#xff1a;适用于基于ECS部署的网站…

输入输出(python)

open&#xff08;&#xff09;需要和close&#xff08;&#xff09;配合使用 with open () as 不需要用close&#xff08;&#xff09;函数 在python3.0中的一些变动&#xff1a; eval 是编程语言中用于动态执行字符串形式代码的内置函数 &#xff0c;名称源于英文 “evaluate”…

Arduino逻辑控制详细解答,一点自己的想法记录

一、逻辑控制的基础概念与核心语法 1.1 逻辑控制的基本原理 逻辑控制是嵌入式系统中最常见的功能之一,其核心在于通过条件判断(if-else)、循环(for/while)和布尔运算(&&/||)实现对硬件的精确控制。例如,通过按键状态切换LED亮度、根据传感器数据调整电机转速…

字符串的相关方法

1. equals方法的作用 方法介绍 public boolean equals(String s) 比较两个字符串内容是否相同、区分大小写 示例代码 public class StringDemo02 {public static void main(String[] args) {//构造方法的方式得到对象char[] chs {a, b, c};String s1 new String(chs);…