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

news2024/9/21 1:48:01

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

flyfish

sharegpt 格式的数据集遵循的格式

[
  {
    "conversations": [
      {
        "from": "human",
        "value": "user instruction"
      },
      {
        "from": "gpt",
        "value": "model response"
      }
    ],
    "system": "system prompt (optional)",
    "tools": "tool description (optional)"
  }
]

字段作用

conversations: 包含一系列对话对象,每个对象都由发言者(from)和发言内容(value)组成。from可以是"human"(人类)或"gpt"(机器),表示是谁说的这句话。
system: 可选的系统级别提示,类似于alpaca格式中的system字段,用于设置对话的整体背景或规则。
tools: 描述可用的外部工具或功能的信息,这些工具可能被模型用来执行某些任务或获取更多信息。这个字段对于那些需要与外部世界互动的应用特别有用。

在 data/dataset_info.json 文件中提供您的数据集定义,并采用以下格式
对于 sharegpt 格式的数据集,dataset_info.json 文件中的列应该包括:

"dataset_name": {
    "file_name": "dataset_name.json",
    "formatting": "sharegpt",
    "columns": {
      "messages": "conversations",
      "system": "system",
      "tools": "tools"
    },
    "tags": {
      "role_tag": "from",
      "content_tag": "value",
      "user_tag": "user",
      "assistant_tag": "assistant"
    }
  }

示例1: 基本对话

假设我们有一个场景,用户询问当前天气,并且系统通过调用外部API来获取天气信息。

[

  {

    "conversations": [

      {

        "from": "human",

        "value": "今天济南的天气怎么样?"

      },

      {

        "from": "function_call",

        "value": "{\"name\": \"get_weather\", \"arguments\": {\"location\": \"济南\"}}"

      },

      {

        "from": "observation",

        "value": "{\"temperature\": 20, \"condition\": \"晴天\", \"humidity\": 45}"

      },

      {

        "from": "gpt",

        "value": "今天济南的天气是晴天,温度大约20摄氏度,湿度为45%。"

      }

    ],

    "system": "你是一位智能助手,能够帮助用户查询各种信息。",

    "tools": "[{\"name\": \"get_weather\", \"description\": \"获取指定地点的天气信息\", \"parameters\": {\"type\": \"object\", \"properties\": {\"location\": {\"type\": \"string\", \"description\": \"要查询天气的地点\"}}, \"required\": [\"location\"]}}]"

  }

]

在这个例子中:

human 用户询问济南今天的天气。
function_call 调用了一个名为get_weather的函数,传递了位置参数济南。
observation 返回了从API获取到的天气信息,包括温度、天气状况和湿度。
gpt 根据观察结果生成了对用户的回答。

示例2: 多轮对话

展示一个更复杂的多轮对话,其中包含多个函数调用和更多的交互。

[

  {

    "conversations": [

      {

        "from": "human",

        "value": "我想知道明天济南的天气预报。"

      },

      {

        "from": "function_call",

        "value": "{\"name\": \"get_weather_forecast\", \"arguments\": {\"location\": \"济南\", \"date\": \"明天\"}}"

      },

      {

        "from": "observation",

        "value": "{\"temperature_high\": 25, \"temperature_low\": 18, \"condition\": \"多云\", \"humidity\": 60}"

      },

      {

        "from": "gpt",

        "value": "明天济南的天气预报显示是多云,最高温度约为25摄氏度,最低温度约为18摄氏度,湿度为60%。"

      },

      {

        "from": "human",

        "value": "那后天呢?"

      },

      {

        "from": "function_call",

        "value": "{\"name\": \"get_weather_forecast\", \"arguments\": {\"location\": \"济南\", \"date\": \"后天\"}}"

      },

      {

        "from": "observation",

        "value": "{\"temperature_high\": 23, \"temperature_low\": 17, \"condition\": \"小雨\", \"humidity\": 70}"

      },

      {

        "from": "gpt",

        "value": "后天济南可能会有小雨,最高温度约为23摄氏度,最低温度约为17摄氏度,湿度为70%。记得带伞哦!"

      }

    ],

    "system": "你是一位智能助手,能够帮助用户查询各种信息。",

    "tools": "[{\"name\": \"get_weather_forecast\", \"description\": \"获取指定地点的天气预报\", \"parameters\": {\"type\": \"object\", \"properties\": {\"location\": {\"type\": \"string\", \"description\": \"要查询天气的地点\"}, \"date\": {\"type\": \"string\", \"description\": \"查询的日期(例如:'明天', '后天')\"}}, \"required\": [\"location\", \"date\"]}}]"

  }

]

在这个多轮对话中:

第一轮对话中,用户询问明天济南的天气预报,系统调用get_weather_forecast函数并返回结果。
第二轮对话中,用户继续询问后天的天气,系统再次调用同一个函数并返回相应结果。

数据集描述

对于上述格式的数据,dataset_info.json文件中的数据集描述可以如下所示:

{

  "天气查询数据集": {

    "file_name": "weather_data.json",

    "formatting": "sharegpt",

    "columns": {

      "messages": "conversations",

      "system": "system",

      "tools": "tools"

    }

  }

}

这个描述指定了数据文件的名称、使用的格式以及字段映射关系。

function_call字段

在sharegpt格式的数据集中,function_call字段用于表示模型调用外部函数或工具的行为。这种机制允许模型与外部服务交互,以获取额外的信息或执行特定任务。这在许多实际应用中非常有用,比如查询天气、检索数据库等。

数据获取:
模型可以通过调用外部API来获取实时数据,如天气预报、股票价格、新闻更新等。
例如,在询问天气时,模型可以调用一个天气API来获取最新的天气信息。

复杂计算:
对于复杂的数学计算或其他需要大量处理的任务,模型可以直接调用专门的计算服务。
例如,计算用户的年龄、财务分析等。

数据库查询:
模型可以调用数据库查询函数来检索存储在数据库中的信息。
例如,从客户数据库中查找用户信息。

扩展功能:
通过调用外部工具,模型可以执行原本无法完成的任务,从而增强其功能和实用性。
例如,发送电子邮件、创建日历事件等。
自定义逻辑:开发者可以编写自定义脚本或插件,并通过function_call机制让模型调用这些脚本来执行特定的任务。
第三方集成:模型可以调用第三方服务的API,如社交媒体平台、云服务提供商等。
文件操作:模型可以调用函数来读取、写入或修改文件内容。
通知和消息发送:模型可以调用函数来发送电子邮件、短信或其他类型的通知。

验证和确认
在某些情况下,模型可能需要验证信息或确认某个操作的结果。
例如,在预订系统中确认订单状态。
身份验证:模型可以调用身份验证函数来验证用户的身份。
权限检查:模型可以调用权限检查函数来确保用户有权限执行某些操作。

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

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

相关文章

12.第二阶段x86游戏实战2-CE找基地址

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要…

全网最全:企业微信用户授权登录对接完整流程

Hello!欢迎各位新老朋友来看小弟博客,祝大家事业顺利,财源广进!! 主题:企业微信用户授权与校验完整对接流程 一:构造第三方应用授权链接 如果第三方应用需要在打开的网页里面携带用户的身份信息…

吸尘器制造5G智能工厂物联数字孪生平台,推进制造业数字化转型

吸尘器制造行业,作为传统制造业的重要组成部分,也在积极探索如何通过先进技术实现生产模式的创新升级。5G智能工厂与物联数字孪生平台的融合应用,为吸尘器制造业的数字化转型铺设了一条高速通道,不仅极大地提升生产效率&#xff0…

华为---代理ARP简介及示例配置

目录 1. 概念 2. 前提条件 3. 使用环境 4. 工作过程 5. 优点 6. 缺点 7. 示例配置 7.1 示例场景 7.2基本配置 7.3 配置端口隔离 7.4 开启代理ARP 7.4.1 VLAN内代理ARP 7.4.2 VLAN间代理ARP 7.4.3路由式ARP代理 1. 概念 代理ARP(Proxy ARP)&…

GAMES202 作业1

参考:games202作业1 SM 首先是利用shadow map去生成尝试生成硬阴影。根据作业的要求 我们完成光源对物体的mvp矩阵 CalcLightMVP(translate, scale) {let lightMVP mat4.create();let modelMatrix mat4.create();let viewMatrix mat4.create();let projection…

Bigemap GIS Office 2024注册机 全能版地图下载软件

对于需要利用GIS信息进行编辑、设计的用户来说,Bigemap GIS Office占有重要地位。用户可以使用Bigemap GIS Office作为工具进行设计、分析、共享、管理和发布地理信息。Bigemap GIS Office能实现多种数据流转、嵌入、融合以及更多地为用户提供数据的增强处理及多种分…

文心一言 VS 讯飞星火 VS chatgpt (351)-- 算法导论24.1 2题

二、证明推论24.3。推论 24.3 的内容是设 G ( V , E ) G(V,E) G(V,E)是一带权重的源结点为 s s s的有向图,其权重函数为 ω : E → R ω:\boldsymbol{E→R} ω:E→R。假定图 G G G不包含从源结点 s s s可以到达的权重为负值的环路,则对于所有结点 v ∈ …

完美转发、C++11中与线程相关的std::ref

目录 模板中的万能引用 std::forward实现完美转发 C11中与线程相关的std::ref 线程函数参数 用函数指针作为线程函数 用lambda表达式作为线程函数 模板中的万能引用 void Func(int& x) {cout << "左值引用" << endl; } void Func(int&&am…

spark之不同序列化对比

一&#xff0c;spark的rdd的序列话不同介绍 下面是使用不同序列化后的占用资源和数据大小 2&#xff0c;sparksql中序列化的区别 sparksql中使用序列化和不使用差别不大&#xff0c;英文sparksql中默认使用了encode自己实现的序列化方法&#xff0c;加上与不加序列化差别不大…

基于PHP+MySQL组合开发的在线客服源码系统 聊天记录实时保存 带完整的安装代码包以及搭建部署教程

系统概述 随着互联网技术的飞速发展&#xff0c;企业与客户之间的沟通方式日益多样化&#xff0c;在线客服系统作为连接企业与客户的桥梁&#xff0c;其重要性不言而喻。然而&#xff0c;市场上现有的在线客服系统往往存在成本高、定制性差、维护复杂等问题。针对这些痛点&…

Zabbix 6.4添加中文语言

/usr/share/zabbix/include/locales .inc .phplocale -agrep “zh_CN" yum install langpacks-zh_CN.noarch y y y

【千帆AppBuilder】零代码+组件+代码节点方式实现AI应用《法定退休年龄计算器》

欢迎来到《小5讲堂》 这是《千帆》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解。 温馨提示&#xff1a;博主能力有限&#xff0c;理解水平有限&#xff0c;若有不对之处望指正&#xff01; 目录 背景创建应用基本信息角色指令引导信息 组件整体界面开始节点代码节…

大腾智能3D协同平台通过华为云云软件认证

在数字化浪潮的推动下&#xff0c;工业软件不仅是研发和生产的核心工具&#xff0c;更是创新突破的基础&#xff0c;正成为推动工业领域数字化转型的关键力量。 近日&#xff0c;深圳市大腾信息技术有限公司凭借在技术创新与产品优化方面的卓越表现&#xff0c;再次迎来里程碑…

望繁信科技受邀出席ACS2023,为汽车行业数智化护航添翼

2023年5月25-26日&#xff0c;ACS2023第七届中国汽车数字科技峰会在上海成功举行。此次峰会汇聚了众多汽车领域的顶级专家、产业链代表及企业高管&#xff0c;共同探讨当今汽车产业的转型与未来发展趋势。 作为唯一受邀的流程挖掘厂商代表&#xff0c;望繁信科技携最新行业优势…

对于C++继承中子类与父类对象同时定义其析构顺序的探究

思考这样一串代码的运行结果&#xff1a; #include <iostream> using namespace std; class Person { public:~Person() { cout << "~Person()" << endl; } }; class Student:public Person { public:~Student() { cout << "~Student(…

【C++篇】C++类与对象深度解析(六):全面剖析拷贝省略、RVO、NRVO优化策略

文章目录 C类与对象前言读者须知RVO 与 NRVO 的启用条件如何确认优化是否启用&#xff1f; 1. 按值传递与拷贝省略1.1 按值传递的概念1.2 示例代码1.3 按值传递的性能影响1.3.1 完全不优化 1.4 不同编译器下的优化表现1.4.1 Visual Studio 2019普通优化1.4.2 Visual Studio 202…

828华为云征文|基于华为云Flexus X实例快速搭建Halo博客平台

目录 前言 一、Flexus云服务器X介绍 1.1 Flexus云服务器X实例简介 1.2 Flexus云服务器X实例特点 1.3 Flexus云服务器X实例场景需求 二、Flexus云服务器X购买 2.1 Flexus X实例购买 2.2 购买MySQL加速镜像 2.3 重置密码 2.4 登录服务器 三、Flexus X实例安装Docker 3.1 系统版本…

小小扑克牌算法

1.定义一个扑克牌类Card&#xff1a; package democard; public class Card {public String suit;//表示花色public int rank;//表示牌点数Overridepublic String toString() {return "{"suit rank"}";}//实例方法&#xff0c;初始化牌的点数和花色public…

IBM 撤出背后:国内技术人如何突围?

近年来&#xff0c;随着全球科技行业的风起云涌&#xff0c;各大科技巨头不断调整业务布局&#xff0c;甚至撤出某些市场。近日&#xff0c;IBM宣布在中国市场进一步收缩&#xff0c;引起了业界的广泛关注。作为曾经的科技领军企业&#xff0c;IBM的撤退背后到底传递出什么样的…

Fipexide(FPX):植物组织培养中的新兴化学诱导剂AbMole

在植物科学领域&#xff0c;组织培养技术一直是探索植物发育机制和生物技术应用的强大工具。然而&#xff0c;尽管植物生长调节剂如生长素&#xff08;Auxin&#xff09;和细胞分裂素&#xff08;Cytokinin&#xff09;在促进植物愈伤组织形成和再分化中发挥了关键作用&#xf…