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开发过程。 提供的例子包括创建用于文本分类、监督微调的聊天数据以及检索增强生成的数据集。 具体应用场景取决于用户自定义的模型和参数。

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

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

相关文章

Unity UI Default Shader分析

文章目录 UI默认材质和Default ShaderShader的属性定义Mask组件支持RectMask2D组件支持其他支持使用Unity UGUI时经常有自定义shader的需求,虽然我们可以直接按照shader lab的规范写出shader,使用也没问题,但如果能让自定义shader符合UI shader的规范,支持Mask,Rect2DMask…

【漫画机器学习】082.岭回归(或脊回归)中的α值(alpha in ridge regression)

岭回归&#xff08;Ridge Regression&#xff09;中的 α 值 岭回归&#xff08;Ridge Regression&#xff09;是一种 带有 L2​ 正则化 的线性回归方法&#xff0c;用于处理多重共线性&#xff08;Multicollinearity&#xff09;问题&#xff0c;提高模型的泛化能力。其中&am…

深入理解和使用定时线程池ScheduledThreadPoolExecutor

文章目录 前言认识定时线程池什么是定时线程池&#xff1f;定时线程池基本API使用定时线程池的应用场景1、定时任务调度2、缓存过期清理3、心跳检测4、延迟任务执行 定时线程池scheduleAtFixedRate与scheduleWithFixedDelay区别scheduleAtFixedRate案例demo&#xff08;period&…

【React】合成事件语法

React 合成事件是 React 为了处理浏览器之间的事件差异而提供的一种跨浏览器的事件系统。它封装了原生的 DOM 事件&#xff0c;提供了一致的事件处理机制。 合成事件与原生事件的区别&#xff1a; 合成事件是 React 自己实现的&#xff0c;封装了原生事件。合成事件依然可以通…

中小企业的采购流程,采购管理是如何进行的?

经营中小企业的&#xff0c;都明白高效采购管理的重要性。我见过不少中小企业&#xff0c;采购环节混乱无序&#xff0c;花费大量成本&#xff0c;却难以保障物资的优质供应。然而到底该如何梳理采购流程&#xff0c;怎样开展采购管理工作呢&#xff1f;这让众多中小企业主愁眉…

在线教程丨YOLO系列10年更新11个版本,最新模型在目标检测多项任务中达SOTA

YOLO (You Only Look Once) 是计算机视觉领域中最具影响力的实时目标检测算法之一&#xff0c;以其高精度与高效性深受业界青睐&#xff0c;广泛应用于自动驾驶、安防监控、医疗影像等领域。 该模型最早于 2015 年由华盛顿大学研究生 Joseph Redmon 发布&#xff0c;开创了将目…

IOPS与吞吐量、读写块大小及延迟之间的关系

IOPS&#xff08;每秒输入/输出操作次数&#xff09;、吞吐量、读写块大小及延迟是衡量存储系统性能的四个关键指标&#xff0c;它们之间存在密切的关系。以下从多个方面详细说明这些指标之间的关系&#xff1a; 1. IOPS与吞吐量的关系 公式关系&#xff1a;吞吐量&#xff0…

DeepSeek 部署过程中的问题

文章目录 DeepSeek 部署过程中的问题一、部署扩展&#xff1a;docker 部署 DS1.1 部署1.2 可视化 二、问题三、GPU 设置3.1 ollama GPU 的支持情况3.2 更新 GPU 驱动3.3 安装 cuda3.4 下载 cuDNN3.5 配置环境变量 四、测试 DeepSeek 部署过程中的问题 Windows 中 利用 ollama 来…

DeepSeek RAGFlow构建本地知识库系统

学习目标 DeepSeek RAGFlow 构建本地知识库系统 学习内容 下载安装Docker 1.1 Docker 是什么 1.2 下载Docker 1.3 安装Docker配置DockerRAGFlow 配置 3.1 下载RAGFlow 3.2 RAGFlow配置 3.3 启动RAGFlow Docker新建知识库 4.1 查看本机IP 4.2 OLLAMA_HOST 变量配置 4.3 添加模…

11 享元(Flyweight)模式

享元模式 1.1 分类 &#xff08;对象&#xff09;结构型 1.2 提出问题 做一个车管所系统&#xff0c;将会产生大量的车辆实体&#xff0c;如果每一个实例都保存自己的所有信息&#xff0c;将会需要大量内存&#xff0c;甚至导致程序崩溃。 1.3 解决方案 运用共享技术有效…

arcgis for js范围内天地图高亮,其余底图灰暗

在GIS地图开发中&#xff0c;有时我们需要突出显示某个特定区域&#xff0c;而将其他区域灰暗处理&#xff0c;以达到视觉上的对比效果。本文将介绍如何使用ArcGIS for JavaScript实现这一功能&#xff0c;具体效果为&#xff1a;在指定范围内&#xff0c;天地图高亮显示&#…

Spring AI + Ollama 实现 DeepSeek-R1 API 服务和调用

随着大语言模型的快速发展&#xff0c;越来越多的开发者开始探索如何将这些强大的推理模型本地化运行。DeepSeek-R1&#xff0c;作为一款性能卓越的开源AI模型&#xff0c;以其低成本和出色的推理能力在技术圈内引起了广泛关注。本文将详细介绍如何使用Ollama部署DeepSeek-R1&a…

Ubuntu 20.04配置网络

1&#xff0c;检查自己网络是否配通。 网络配置成功显示的网络图标 不成功的网络图标 如果看不见网络图标&#xff0c;可以使用ping命令。连接一下百度网。 ping www.baidu.com ping失败的样子 ping成功的样子 2&#xff0c;接下来进入正题&#xff0c;我们开始配置网络。 这…

ElasticSearch入门

目录 1._cat 2.索引一个 document 3.查询document 4.更新document 5.删除document 或 index 6.批量_bulk API 1._cat Get/_cat/nodes 查看所有节点 Get/_cat/indices 查看所有索引&#xff08;indices &#xff1a;index的复数) Get/_cat/master 查看…

java练习(8)

ps:题目来自力扣 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。 假设 nums 中不等于 val 的元素数量为 k&#xff0c;要通过此题&#xff0c;您需要执行以下操作…

Java常用类

文章目录 包装类(Wrapper)包装类的继承体系装箱和拆箱包装类与String类型的相互转换 String类创建 String 对象的两种方式String 类的常见方法案例演示 StringBuffer类类的继承体系String VS StringBufferStringBuffer构造器String 和 StringBuffer 相互转换StringBuffer 类常见…

算法设计与分析三级项目--管道铺设系统

摘 要 该项目使用c算法逻辑&#xff0c;开发环境为VS2022&#xff0c;旨在通过Prim算法优化建筑物间的连接路径&#xff0c;以支持管线铺设规划。可以读取文本文件中的建筑物名称和距离的信息&#xff0c;并计算出建筑物之间的最短连接路径和总路径长度&#xff0c;同时以利用…

【C语言系列】深入理解指针(5)

深入理解指针&#xff08;5&#xff09; 一、sizeof和strlen的对比1.1sizeof1.2strlen1.3sizeof和strlen的对比 二、数组和指针笔试题解析2.1 一维数组2.2 字符数组2.2.1代码1&#xff1a;2.2.2代码2&#xff1a;2.2.3代码3&#xff1a;2.2.4代码4&#xff1a;2.2.5代码5&#…

设计模式——策略模式

设计模式——策略模式 简单介绍一个例子 策略模式是设计模式里面比较简单的设计模式&#xff0c;其特点简单又实用&#xff0c;并且可以让你的代码看起来高大上&#xff0c;维护代码时还方便扩张 多重条件语句不易维护&#xff0c;而使用策略模式可以避免使用多重条件语句&…

【玩转 Postman 接口测试与开发2_018】第14章:利用 Postman 初探 API 安全测试

《API Testing and Development with Postman》最新第二版封面 文章目录 第十四章 API 安全测试1 OWASP API 安全清单1.1 相关背景1.2 OWASP API 安全清单1.3 认证与授权1.4 破防的对象级授权&#xff08;Broken object-level authorization&#xff09;1.5 破防的属性级授权&a…