ConardLi/easy-datasetPlease refer to the latest official releases for information GitHub Homepage
专为大语言模型微调数据集创建而设计的强大工具,支持智能文档处理、问题生成和多格式导出
NOASSERTIONJavaScript 9.1kConardLieasy-dataset Last Updated: 2025-07-02
Easy Dataset - 大语言模型微调数据集创建工具
项目概述
Easy Dataset 是一款专为大语言模型(LLM)微调数据集创建而设计的专业工具。它提供了直观的界面,用于上传特定领域的文件、智能分割内容、生成问题,并产生高质量的训练数据,使模型微调过程变得简单高效。
通过 Easy Dataset,你可以将你的领域知识转换为结构化数据集,兼容所有 OpenAI 格式的 LLM API,让微调过程变得更加便捷和高效。
核心特性
🧠 智能文档处理
- 支持上传 Markdown 文件并自动分割成有意义的片段
- 智能识别文档结构和内容层次
❓ 智能问题生成
- 从每个文本片段中自动提取相关问题
- 支持批量问题生成,提高处理效率
💬 答案生成
- 使用 LLM API 为每个问题生成全面的答案
- 支持自定义系统提示词来指导模型响应
✏️ 灵活编辑
- 在处理过程的任何阶段都可以编辑问题、答案和数据集
- 提供直观的用户界面进行内容管理
📤 多格式导出
- 支持多种数据集格式(Alpaca、ShareGPT)
- 支持多种文件类型(JSON、JSONL)
🔧 广泛模型支持
- 兼容所有遵循 OpenAI 格式的 LLM API
- 支持 Ollama 本地模型部署
👥 用户友好界面
- 为技术和非技术用户设计的直观 UI
- 完整的中英文国际化支持
技术架构
技术栈
- 前端框架: Next.js 14.1.0
- UI 库: React 18.2.0
- 组件库: Material UI 5.15.7
- 数据库: 本地文件数据库
- 许可证: Apache License 2.0
项目结构
easy-dataset/
├── app/ # Next.js 应用目录
│ ├── api/ # API 路由
│ │ ├── llm/ # LLM API 集成
│ │ │ ├── ollama/ # Ollama API 集成
│ │ │ └── openai/ # OpenAI API 集成
│ │ └── projects/ # 项目管理 API
│ │ └── [projectId]/
│ │ ├── chunks/ # 文本块操作
│ │ ├── datasets/ # 数据集生成和管理
│ │ ├── questions/ # 问题管理
│ │ └── split/ # 文本分割操作
│ └── projects/ # 前端项目页面
│ └── [projectId]/
│ ├── datasets/ # 数据集管理界面
│ ├── questions/ # 问题管理界面
│ ├── settings/ # 项目设置界面
│ └── text-split/ # 文本处理界面
├── components/ # React 组件
│ ├── datasets/ # 数据集相关组件
│ ├── home/ # 首页组件
│ ├── projects/ # 项目管理组件
│ ├── questions/ # 问题管理组件
│ └── text-split/ # 文本处理组件
├── lib/ # 核心库和工具
│ ├── db/ # 数据库操作
│ ├── i18n/ # 国际化
│ ├── llm/ # LLM 集成
│ │ ├── common/ # LLM 通用工具
│ │ ├── core/ # 核心 LLM 客户端
│ │ └── prompts/ # 提示词模板
│ └── text-splitter/ # 文本分割工具
├── locales/ # 国际化资源
│ ├── en/ # 英文翻译
│ └── zh-CN/ # 中文翻译
└── local-db/ # 本地文件数据库
└── projects/ # 项目数据存储
安装与部署
系统要求
- Node.js 18.x 或更高版本
- pnpm(推荐)或 npm
本地开发
- 克隆仓库:
git clone https://github.com/ConardLi/easy-dataset.git
cd easy-dataset
- 安装依赖:
npm install
- 启动开发服务器:
npm run build
npm run start
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 | MacOS | Linux |
---|---|---|
Setup.exe | Intel / M | AppImage |
使用流程
1. 创建项目
- 在首页点击"创建项目"按钮
- 输入项目名称和描述
- 配置你偏好的 LLM API 设置
2. 上传和分割文本
- 在"文本分割"部分上传你的 Markdown 文件
- 查看自动分割的文本片段
- 根据需要调整分割结果
3. 生成问题
- 导航到"问题"部分
- 选择要生成问题的文本片段
- 查看和编辑生成的问题
- 使用标签树组织问题
4. 生成数据集
- 转到"数据集"部分
- 选择要包含在数据集中的问题
- 使用配置的 LLM 生成答案
- 查看和编辑生成的答案
5. 导出数据集
- 在数据集部分点击"导出"按钮
- 选择你偏好的格式(Alpaca 或 ShareGPT)
- 选择文件格式(JSON 或 JSONL)
- 如需要可添加自定义系统提示词
- 导出你的数据集
特色功能
智能提示词系统
项目内置了针对不同语言的专业提示词模板:
- 中文问题生成提示词
- 英文问题生成提示词
- 中文答案生成提示词
- 英文答案生成提示词
多 LLM 支持
- 支持 OpenAI API
- 支持 Ollama 本地部署
- 兼容所有 OpenAI 格式的 API
灵活的数据格式
- Alpaca 格式:适用于指令微调
- ShareGPT 格式:适用于对话训练
- JSON/JSONL 输出格式选择