Easy-Dataset实现文档生成数据集

一、概述

Easy Dataset是一个专门为大型语言模型(LLM)创建微调数据集而设计的应用程序。它提供了一个直观的界面,用于上传特定领域的文件、智能分割内容、生成问题以及为模型微调生成高质量的训练数据。


使用Easy Dataset,您可以将领域知识转换为结构化数据集,与遵循OpenAI格式的所有LLM API兼容,使微调过程简单高效。

二、项目安装

项目的安装比较方便,有3种方式:

1.客户端安装

比较简单,直接下载客户端,安装后即可使用。

2.源码安装

可以修改源代码,功能调整,自主性较好。

源代码下载

git clone https://github.com/ConardLi/easy-dataset.git

cd easy-dataset

安装依赖项

npm install

启动开发服务器

npm run build

npm run start

3.Docker容器安装

克隆代码库

git clone https://github.com/ConardLi/easy-dataset.git
cd easy-dataset

构建 Docker 映像

docker build -t easy-dataset .

运行容器

docker run -d -p 1717:1717 -v {YOUR_LOCAL_DB_PATH}:/app/local-db --name easy-dataset easy-dataset

注意:需要修改YOUR_LOCAL_DB_PATH为你自己的数据存储路径。

打开浏览器并导航至http://localhost:1717

本文使用第一种方式,下载windows客户端

https://github.com/ConardLi/easy-dataset/releases/tag/1.3.7

下载完成后,双击exe程序,下一步,下一步安装即可,很简单。

安装完成后,效果如下:

三、项目使用

准备原始文件

下载《网络安全法规摘编手册》pdf文件,这个是由兰州大学编写的。兰州大学是中国教育部直属的全国重点综合性大学,位列国家“双一流”、“985工程”和“211工程”,属于中国高校第一梯队的中上水平。

链接如下:

https://jchyxy.lzu.edu.cn/jcyxy/upload/files/N20211112170341.pdf

创建新项目

创建项目“网络安全法规”,本文以生成法律法规的领域数据为例。如图所示。

项目名称:网络安全法规

项目描述:构建网络安全法规的微调数据集

模型配置

由于pdf文件比较大,有5M左右,可能会耗费很多tokens,使用收费的,不划算,所以打算本地启动大模型。

使用LM Studio软件,启动一个deepseek-r1-distill-llama-8b模型

注意:模型最好选择deepseek-r1,v1,v3都行。

我测试用qwen3扫描pdf文件,批量生成问题,有异常。

项目创建完成后,进行模型配置,这一步可以根据各自情况配置,配置也非常简单,选择“项目设置” -> “模型配置”,如下图

确保能刷新出模型,然后选择即可。

 拆分文本

选择“文献处理”,右边要选择AI模型,否则无法上传

上传准备好的行业数据MD文件,选择基础PDF解析

 点击上传并处理

可以全部选择拆分后的文本,然后批量生成问题,如下图。

 这里生成问题需要等待一段时间:

 打开LM Studio,这里可以看到大模型运行过程

 查看GPU使用率,最高在90%左右

大概10分钟左右,就可以完成。

问题管理

 选择“问题管理”,勾选生成的问题,选择“批量构造数据集”,过程仍需等待一段时间。

继续等待

 这个过程比较漫长,也是比较耗费GPU的,90%左右的使用率。大概持续45分钟左右。

构建数据集

选择“导出数据集”,下载构建好的网络安全行业数据。

导出数据集,这里都是默认的。

设置系统提示词“你是一位法律专家,擅长网络安全法”。

导出之后,会得到一个文件datasets-kwWD-GPA3SKm-alpaca-2025-06-13.json

查看文件大小,257kb,有点小,1MB都没有。

哎,没办法,只生成了108个问题,如果有更多的问题,文件就比较大了。

我们打开文件,可以看到导出的数据集案例。

至此,我们已利用 Easy Dataset 工具完成了“网络安全领域数据集” 的处理与生成。

虽然演示过程相对基础,但其过程充分展现了该工具的高度实用性:仅需执行三项核心操作,即可生成适用于微调的数据集。

数据集工厂

点击搜索公开数据集

 打开一个数据集

 可以看到,这个数据集很庞大,115.9GB

 文章到此结束,总体来说,你可以将pdf文件,或者其他文本文件,比如world,txt,md,生成数据集。

也可以下载公开的数据集,来完成你的AI模型微调。

本文参考链接:https://blog.youkuaiyun.com/weixin_46880696/article/details/147784014

在使用 `easy-dataset` 处理大量不同文档生成数据集时,确保内容不重复并保证数据质量是构建高性能模型的关键步骤。以下是一些方法和最佳实践: ### 数据去重策略 1. **基于哈希的去重** 在文档加载阶段,可以通过计算每条数据的哈希值(如 `MD5` 或 `SHA-256`)来识别和删除重复内容。若两个文档的哈希值相同,则可判定为重复数据,从而避免重复写入数据集[^1]。 2. **语义层面的去重** 对于文本数据,可使用文本相似度算法(如 `SimHash`、`Cosine Similarity` 或 `BERT` 嵌入)来识别语义上高度相似的内容。`easy-dataset` 可以结合这些算法构建去重模块,避免形式不同但内容相似的文档进入最终数据集。 3. **文档指纹(Document Fingerprinting)** 提取文档的关键特征(如关键词、摘要、句法结构)生成指纹,用于高效检测近似重复内容。 ### 数据质量保障措施 1. **数据清洗与预处理** 在构建数据集前,应对文档进行标准化处理,包括去除噪声字符、统一格式、标准化大小写、处理缺失值等。`easy-dataset` 提供了灵活的钩子机制,可在数据加载阶段插入自定义清洗逻辑。 2. **元数据校验机制** 对每条数据的元信息(如标签、时间戳、来源等)进行验证,确保其符合预期格式和语义。例如,图像分类任务中应检查标签是否在合法范围内,文本分类任务中应验证文本长度是否合理。 3. **数据分布分析与平衡** 使用 `easy-dataset` 提供的统计工具分析数据分布,避免类别不平衡问题。例如,可通过重采样、加权采样或引入合成数据来提升数据集的整体质量。 4. **版本控制与数据溯源** 为每次生成的数据集分配唯一版本号,并记录数据来源、处理逻辑和去重策略,以便后续追踪和审计。这也有助于构建可复现的机器学习流程。 5. **自动化测试与验证** 在数据集生成流程中引入自动化测试脚本,对输出数据进行完整性、一致性、格式正确性等测试,确保每次生成的数据集都符合质量标准。 ### 示例代码:使用 `easy-dataset` 进行去重 ```python from easy_dataset import DatasetBuilder from hashlib import md5 def hash_text(text): return md5(text.encode('utf-8')).hexdigest() builder = DatasetBuilder() builder.add_source("documents/*.txt") # 添加去重步骤 builder.add_transform(lambda doc: {"text": doc["text"], "hash": hash_text(doc["text"])}) builder.add_filter(lambda doc: not builder.cache.contains("hash", doc["hash"])) # 添加清洗步骤 builder.add_transform(lambda doc: {"clean_text": doc["text"].strip().lower()}) # 构建最终数据集 dataset = builder.build() ``` ### 数据集构建的监控与反馈机制 在大规模文档处理中,建议集成监控系统,实时跟踪数据质量指标(如去重率、清洗成功率、数据分布变化等)。可结合日志系统记录每一步的处理结果,便于及时发现异常数据并进行干预。 此外,应定期对生成的数据集进行人工抽样审核,确保自动化流程未遗漏关键质量问题。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值