LLMs之data:synthetic-data-generator的简介、安装和使用方法、案例应用之详细攻略

LLMs之data:synthetic-data-generator的简介、安装和使用方法、案例应用之详细攻略

目录

synthetic-data-generator的简介

1、核心功能和优势

2、特点

synthetic-data-generator的安装和使用方法

1、安装

pip安装

安装依赖项

运行应用

2、使用方法

快速入门

环境变量配置

可选的API提供商和模型配置:

Argilla集成

synthetic-data-generator的案例应用


synthetic-data-generator的简介

2024年12月,合成数据生成器 (Synthetic Data Generator) 是一款强大的工具,用于创建高质量数据集,以训练和微调语言模型。它利用 distilabel 和大型语言模型 (LLM) 的能力,生成符合特定需求的合成数据
synthetic-data-generator是一个高效、灵活且易于使用的工具,它降低了创建高质量数据集的门槛,使得即使没有专业数据科学背景的用户也能快速生成满足特定需求的训练数据,从而显著加速 AI 模型的开发和部署。 其对多种任务的支持以及与 Hugging Face Hub 和 Argilla 的集成,更是进一步提升了其实用性和价值。

GitHub地址:GitHub - argilla-io/synthetic-data-generator: Build datasets using natural language

1、核心功能和优势

>> 高质量数据集生成:该工具能够生成用于训练和微调语言模型的高质量数据集,显著提升模型性能。
>> 基于LLM和distilabel:它巧妙地结合了大型语言模型 (LLM) 的强大文本生成能力和 distilabel 框架的合成数据生成技术,保证了数据的质量和多样性。
>> 定制化能力强:用户可以根据自身需求,精确描述目标应用的特性,从而生成高度定制化的数据集。
>> 迭代式开发:支持迭代式地创建和改进样本数据集,方便用户逐步完善数据质量,最终获得理想的数据集。
>> 支持多种任务:目前支持文本分类、用于监督微调的聊天数据以及检索增强生成 (Retrieval Augmented Generation, RAG) 等多种任务,应用范围广泛。
>> 便捷的数据集管理:生成的完整数据集可以轻松地推送到 Hugging Face Hub 和/或 Argilla 平台,方便后续的模型训练和数据管理。
>> 加速AI开发流程:通过简化数据集创建过程,该工具极大地加快了 AI 开发流程,缩短了从概念到模型部署的时间。

2、特点

>> 使用自然语言构建数据集:您可以用自然语言描述所需数据集的特性。
>> 迭代式数据集构建:支持迭代式地创建和改进样本数据集。
>> 大规模数据集生成:能够生成完整规模的数据集。
>> 支持多种任务:支持文本分类、监督微调的聊天数据和检索增强生成 (Retrieval Augmented Generation, RAG) 等任务。
>> Hugging Face Hub 和 Argilla 集成:生成的的数据集可以轻松地推送到 Hugging Face Hub 和 Argilla 平台。
>> 可定制性:基于distilabel,您可以轻松更改LLM或流水线步骤。
>> 多种API支持:支持Hugging Face、OpenAI、Ollama和VLLM等多种API提供商和模型。

synthetic-data-generator的安装和使用方法

1、安装

pip安装

pip install synthetic-dataset-generator

安装依赖项

创建虚拟环境:python -m venv .venv

激活虚拟环境:source .venv/bin/activate

安装依赖项:
pip install -e .
pdm install

运行应用

python app.py

2、使用方法

快速入门

from synthetic_dataset_generator import launch
launch()

环境变量配置

为了自定义生成过程,您可以设置以下环境变量:

>>HF_TOKEN:您的Hugging Face令牌,用于将数据集推送到Hugging Face Hub并从Hugging Face推理端点生成免费补全。 可以在examples文件夹中找到一些配置示例。

MAX_NUM_TOKENS:生成的令牌最大数量,默认为2048。

MAX_NUM_ROWS:生成的最多行数,默认为1000。

DEFAULT_BATCH_SIZE:生成数据集使用的默认批量大小,默认为5。

可选的API提供商和模型配置:

MODEL:用于生成数据集的模型,例如meta-llama/Meta-Llama-3.1-8B-Instruct、gpt-4o、llama3.1等。

API_KEY:用于生成API的API密钥,例如hf_...、sk-...等。如果未提供,则默认为HF_TOKEN环境变量。

OPENAI_BASE_URL:任何与OpenAI兼容的API的基本URL,例如https://api.openai.com/v1/。

OLLAMA_BASE_URL:任何与Ollama兼容的API的基本URL,例如http://127.0.0.1:11434/。

HUGGINGFACE_BASE_URL:任何与Hugging Face兼容的API的基本URL,例如TGI服务器或专用推理端点。如果您想使用无服务器推理,只需设置MODEL。

VLLM_BASE_URL:任何与VLLM兼容的API的基本URL,例如http://localhost:8000/。

为了使用特定模型专门生成补全,请在前面提到的环境变量后面添加_COMPLETION。例如,您可以使用MODEL_COMPLETION和OPENAI_BASE_URL_COMPLETION。

SFT和聊天数据生成:不支持OpenAI端点。此外,您需要根据其提示模板,基于模型系列进行配置,使用正确的TOKENIZER_ID和MAGPIE_PRE_QUERY_TEMPLATE环境变量。

TOKENIZER_ID:用于magpie管道的tokenizer ID,例如meta-llama/Meta-Llama-3.1-8B-Instruct。

MAGPIE_PRE_QUERY_TEMPLATE:强制设置Magpie的预查询模板,仅支持Hugging Face推理端点。llama3和qwen2开箱即用,分别使用<|begin_of_text|><|start_header_id|>user<|end_header_id|>\n\n和<|im_start|>user\n。对于其他模型,您可以传递自定义的预查询模板字符串。

Argilla集成

可以通过设置以下环境变量将数据集推送到Argilla进行进一步整理:

ARGILLA_API_KEY:您的Argilla API密钥。

ARGILLA_API_URL:您的Argilla API URL。

3、在线测试

合成数据是人工生成的信息,能够模拟真实世界的数据。它通过扩充或增强数据集来克服数据的局限性。这是一款用户友好型应用程序,采用无代码方式利用大型语言模型(LLM)创建自定义数据集。最棒的是:它拥有简单易懂的分步流程,让数据集创建变得轻松无比,无需任何技术知识,任何人都能在几分钟内创建数据集和模型。合成数据生成器会根据你自定义的提示,通过合成数据管道生成适用于您用例的数据集。在后台,这由 distilabel 和免费的 Hugging Face 文本生成 API 提供支持,但我们无需担心这些复杂性,只需专注于使用用户界面即可。

地址:https://huggingface.co/spaces/argilla/synthetic-data-generator

Text Classification

Chat Data

RAG

synthetic-data-generator的案例应用

synthetic-data-generator工具可以用于快速原型设计和创建各种数据集,从而加速AI开发过程。 提供的例子包括创建用于文本分类、监督微调的聊天数据以及检索增强生成的数据集。 具体应用场景取决于用户自定义的模型和参数。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第二天:系统从BIOS/UEFI到GRUB/bootloader的启动过程

目录 **一、BIOS/UEFI初始化阶段****二、引导加载程序&#xff08;GRUB&#xff09;的启动过程****1. BIOS模式下的GRUB分阶段加载****2. UEFI模式下的GRUB加载** **三、操作系统内核加载与初始化****四、关键组件与配置文件****五、故障排查与恢复****总结**常见问题如何在UEF…

113,【5】 功防世界 web unseping

进入靶场 代码审计 <?php // 高亮显示当前 PHP 文件的源代码&#xff0c;方便开发者查看代码结构和内容 highlight_file(__FILE__);// 定义一个名为 ease 的类 class ease {// 私有属性 $method&#xff0c;用于存储要调用的方法名private $method;// 私有属性 $args&…

图解BWT(Burrows-Wheeler Transform) 算法

Burrows-Wheeler Transform (BWT) 是一种数据转换算法, 主要用于数据压缩领域. 它由 Michael Burrows 和 David Wheeler 在 1994 年提出, 广泛应用于无损数据压缩算法(如 bzip2)中. BWT 的核心思想是通过重新排列输入数据, 使得相同的字符更容易聚集在一起, 从而提高后续压缩算…

DeepSeek辅助学术写作【句子重写】效果如何?

句子重写(功能指数:★★★★★) 当我们想引用一篇文章中的一-些我们认为写得很好的句子时&#xff0c;如果直接将原文加人自己的文章&#xff0c;那么即使我们标注上了引用&#xff0c;也依旧会被查重软件计算在重复比例中。查重比例过高的话&#xff0c;会影响投稿或毕业答辩送…

【CAD】卸载清理注册表后安装失败/错误 1402无法打开主键:UNKNOWN Components DAFE。。。

这是因为注册表中的 CurrentVersion\Installer\UserData二级子目录中Components的文件缺少权限&#xff0c;只需要将权限添加为administors即可 一图流&#xff0c;就是把权限给到Administrators&#xff0c;然后就再以管理员权限安装就可以了&#xff0c;还有如果破解的软件可…

w192中国陕西民俗网的设计与实现

&#x1f64a;作者简介&#xff1a;多年一线开发工作经验&#xff0c;原创团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339;赠送计算机毕业设计600个选题excel文…

2.6日学习总结

题目一&#xff1a; AC代码&#xff1a; #include <stdio.h>// 宏 _for 用于简化 for 循环 #define _for(i, a, b) for (int i (a); i < (b); i)// 最大节点数 #define MAXN 1000010// 树节点结构体 typedef struct {int left;int right; } Node;// 树节点数组 Nod…

【数据结构】(4) 线性表 List

一、什么是线性表 线性表就是 n 个相同类型元素的有限序列&#xff0c;每一个元素只有一个前驱和后继&#xff08;除了第一个和最后一个元素&#xff09;。 数据结构中&#xff0c;常见的线性表有&#xff1a;顺序表、链表、栈、队列。 二、什么是 List List 是 Java 中的线性…

工控机的主要功能有那些?

工控机的主要功能包括&#xff1a;数据采集与处理&#xff0c;工控机可以连接多种传感器和输入设备&#xff0c;实时采集数据&#xff0c;并进行必要的处理和分析。其次 就是控制执行&#xff1a;在自动化生产线或机器人控制系统中&#xff0c;工控机根据预设的程序或实时数据执…

链式结构二叉树(递归暴力美学)

文章目录 1. 链式结构二叉树1.1 二叉树创建 2. 前中后序遍历2.1 遍历规则2.2 代码实现图文理解 3. 结点个数以及高度等二叉树结点个数正确做法&#xff1a; 4. 层序遍历5. 判断是否完全二叉树 1. 链式结构二叉树 完成了顺序结构二叉树的代码实现&#xff0c;可以知道其底层结构…

凝思60重置密码

凝思系统重置密码 - 赛博狗尾草 - 博客园 问题描述 凝思系统进入单用户模式&#xff0c;在此模式下&#xff0c;用户可以访问修复错误配置的文件。也可以在此模式下安装显卡驱动&#xff0c;解决和已加载驱动的冲突问题。 适用范围 linx-6.0.60 linx-6.0.80 linx-6.0.100…

MDPI的论文书写

一、作者信息 二、摘要 1、先写背景&#xff0c;将问题放到大背景里面&#xff0c;然后重点说明研究的目的。

2-kafka服务端之延时操作实现原理

文章目录 背景案例延时生产实现原理延时拉取实现原理 总结 背景 上篇我们说到了kafka时间轮是延时操作内部实现的重要数据结构&#xff0c;这篇我们来说下kafka内部的延时操作实现原理。这里我们以延时生产和延时拉取为例说明延时操作的实现原理。 案例 延时生产 我们知道如…

无心剑七绝《深度求索》

七绝深度求索 深研妙理定乾坤 度世玄机启智门 求路千难兼万险 索萦华夏自为尊 2025年2月1日 平水韵十三元平韵 无心剑七绝《深度求索》以平水韵十三元平韵写成&#xff0c;意境深远&#xff0c;气势磅礴。诗中“深研妙理定乾坤”开篇点题&#xff0c;展现出对深奥道理的钻研与探…

C++多级指针图解

AudioResample **pResample 指针的地址图解AudioResample **pResample; // pResample 存储 AudioResample* 的地址 AudioResample *ar *pResample; // ar 现在指向 AudioResample 结构体 pResample → 指向 AudioResample* 的地址 (0x2000)*pResample → 取出 AudioResample…

oracle基础语法

oracle基础语法 1、增删改查1.1查询语句1.2 修改语句1.3 删除表1.4 删除数据1.5 增加数据1.6 创建视图1.7 添加视图字段注释 1、增删改查 oracle与sql server语法上大致相同&#xff0c;但有些细微的不同&#xff0c;以下是我个人记录工作中常用到的一些语法句。 1.1查询语句…

数据库------------

一 mysql ----数据库就相当于一个端口 1. 三层结构 1&#xff09;数据库中 表的本质仍然是文件 1.1 mysql常用数据类型---&#xff08;即 mysql列类型&#xff09; 1&#xff09; 数值类型 2&#xff09; 文本类型 3&#xff09; 二进制数据类型 4&#xff09;日期类型 2. sq…

使用服务器部署DeepSeek-R1模型【详细版】

文章目录 引言deepseek-r1IDE或者终端工具算力平台体验deepseek-r1模型总结 引言 在现代的机器学习和深度学习应用中&#xff0c;模型部署和服务化是每个开发者面临的重要任务。无论是用于智能推荐、自然语言处理还是图像识别&#xff0c;如何高效、稳定地将深度学习模型部署到…

25/2/6 <机器人基础> 运动学中各连杆的变换矩阵求法

变换矩阵 机器人通常包含多个关节和连杆&#xff0c;每个关节和连杆都有自己的局部坐标系。变换矩阵能够将一个点或向量从一个坐标系转换到另一个坐标系&#xff0c;从而实现对机器人各个部件位置和姿态的统一描述 变换矩阵能够将复杂的运动分解为旋转和平移的组合。通过矩阵乘…

CS 与 BS 架构的差异

在数字化的今天&#xff0c;选择软件架构模式对系统的性能、维护、安全和成本都有很大影响。BS架构和CS架构是最常见的两种模式&#xff0c;了解它们的区别和特点对开发人员和企业决策者都很重要。 CS架构最早出现&#xff0c;当时用户直接从主机获取数据。随着客户端和服务端…