Home
Login

专为大语言模型微调数据集创建而设计的强大工具,支持智能文档处理、问题生成和多格式导出

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

本地开发

  1. 克隆仓库:
git clone https://github.com/ConardLi/easy-dataset.git
cd easy-dataset
  1. 安装依赖:
npm install
  1. 启动开发服务器:
npm run build
npm run start

Docker 部署

  1. 克隆仓库:
git clone https://github.com/ConardLi/easy-dataset.git
cd easy-dataset
  1. 构建 Docker 镜像:
docker build -t easy-dataset .
  1. 运行容器:
docker run -d -p 1717:1717 -v {YOUR_LOCAL_DB_PATH}:/app/local-db --name easy-dataset easy-dataset

注意:将 {YOUR_LOCAL_DB_PATH} 替换为你想要存储本地数据库的实际路径。

  1. 访问应用: 打开浏览器并导航到 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 输出格式选择

Star History Chart