DatasetLoom - 多模态大模型训练数据智能构建平台

September 4, 2025 · View on GitHub

TypeScript Next.js NestJS TailwindCSS pnpm Turborepo License

🚀 一个面向 多模态大模型训练 的智能数据集构建与评估平台,支持图文问答、图像描述、DPO 数据集生成、AI 评分、训练语料导出等全流程。

DatasetLoom Logo
🌐 简体中文 | English

🌟 项目简介

DatasetLoom 是一款高质量的 多模态训练数据集构建平台,专为 AI 工程师、研究人员和团队设计。

基于 Next.js + NestJS + Turborepo 的现代化 Monorepo 架构,实现前后端解耦、高可维护性与灵活扩展。平台支持从文档解析、图像标注到模型评分、语料导出的完整数据流水线,集成 RAG 能力,让大模型“基于真实知识”生成对话数据集,进而构建更专业、准确、可追溯的 SFT 与 DPO 训练数据。

🎯 核心能力:

  • 监督微调(SFT)语料生成
  • 偏好对齐(DPO)数据集构建
  • 图文问答(VQA)与图像描述生成
  • 模型输出自动评分与对比
  • 基于上传文档与 RAG 生成真实、专业、有依据的对话数据集
  • 支持嵌入模型配置与 Qdrant 向量数据库
  • 支持 GPT-4V、LLaVA、Qwen-VL 等多模型接入
  • 多人协作与权限管理

✨ 核心特性

特性说明
多模态数据支持支持图像、PDF、Word、Markdown、TXT 等格式上传与解析
智能文档分块支持按段落、标题、语义等方式自动分块
图像标注与生成支持区域标注、图文问答、图像描述一键生成
AI 自动评分系统集成大模型对输出质量打分,支持多模型对比
DPO/SFT 数据集构建可配置策略生成偏好对或指令微调语料
RAG 增强对话生成结合向量数据库,驱动模型基于真实文档生成专业对话数据
嵌入模型管理支持 OpenAI、Hugging Face、本地部署的 Embedding 模型
向量数据库集成内建 Qdrant 支持,高性能向量存储与相似度检索
用户与权限管理支持角色控制(管理员、协作者、访客)
训练语料导出支持 JSON、CSV、HuggingFace Dataset 等格式导出
API 文档化后端集成 Swagger,访问 /api-docs 即可调试

📸 截图预览

登录页项目列表
登录页项目列表
文档管理分块策略
文档管理分块策略
问题生成数据集导出
问题列表导出界面

🔍 API 文档地址http://localhost:3088/api-docs


🛠 技术栈

层级技术
前端Next.js App Router + React 18 + Tailwind CSS
后端NestJS + TypeScript + RESTful API + Swagger
ORMPrisma
向量数据库Qdrant
构建工具Turborepo + pnpm
数据库PostgreSQL
部署Docker + Docker Compose

🚀 快速开始(开发环境)

1. 克隆项目

git clone https://github.com/599yongyang/DatasetLoom.git
cd DatasetLoom

2. 配置环境变量

cp .env.example .env

修改 .env 中的 DATABASE_URL

3. 安装 pnpm(包管理工具)

本项目使用 pnpm 作为包管理工具。如果尚未安装,请运行:

# 使用 npm 安装 pnpm(推荐)
npm install -g pnpm

# 或使用 corepack(Node.js 16.13+ 内置)
corepack enable
corepack prepare pnpm@latest --activate

💡 安装完成后,可通过 pnpm --version 验证是否成功。

4. 安装依赖

pnpm install

5. 初始化数据库

pnpm --filter=api prisma:migrate

6. 启动开发服务

# 推荐:同时启动前后端
pnpm run dev

# 或分别启动
pnpm --filter=web dev
pnpm --filter=api dev

🐳 Docker 部署(生产推荐)

本项目提供完整的 Docker 支持,便于一键部署至服务器或云环境。

1. 准备环境变量文件

cp .env.example .env

2. 构建并启动服务

docker compose up -d --build

启动服务包括:

  • web:Next.js 前端
  • api:NestJS 后端
  • postgres:数据库
  • qdrant:向量数据库(用于 RAG 检索)

3. 访问服务


🧠 典型使用场景

场景描述
AI 训练数据生成快速构建 SFT/DPO 数据集,用于微调 LLM 或多模态模型
教育科研数据整理解析论文、教材,生成问答对、摘要、练习题
垂直领域知识库构建医疗、法律、金融等领域文档结构化与问答生成
模型评估与对比对比 GPT-4V、LLaVA、Qwen-VL 等模型输出质量
团队协作标注支持多用户协作,权限控制清晰
多模态内容理解图像 + 文本联合处理,生成图文对齐语料
RAG 驱动的对话数据生成基于真实文档生成专业、准确、可追溯的 SFT/DPO 对话数据集

🤝 贡献指南

欢迎提交 Issue 或 Pull Request!

贡献流程:

  1. Fork 项目
  2. 创建功能分支:git checkout -b feat/your-feature
  3. 提交更改并推送
  4. 提交 PR

💡 提交前请运行:

pnpm run format
pnpm run typecheck

📜 许可证

本项目采用 MIT License,允许自由使用、修改与商用。


🌟 支持项目

如果你觉得 DatasetLoom 有帮助,请给项目一颗 ⭐ Star
感谢支持,将持续维护和优化本项目 💙

GitHub: https://github.com/599yongyang/DatasetLoom