datafast
patrickfleith/datafast加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

当你兴奋地准备微调一个大模型,却发现手里没有高质量训练数据时,你会怎么做? 手动标注数万条文本?花大价钱买数据?还是干脆放弃这个想法?
DataFast 正是为解决这个痛点而生。
2024-2025 年,大语言模型(LLM)领域最不缺的就是模型——GPT-4o、Claude 3.5、Gemini 2.0 相继登场,开源模型 Llama 3、Mistral 也一路狂奔。然而,真正卡住 AI 应用落地的,往往不是模型本身,而是高质量训练数据。
文本分类、指令微调、多选问答、偏好排序……每一种任务都需要大量专业标注数据。传统方式下,构建一个基础文本分类数据集可能需要:
总计:1-3 周。 期间工程师只能等待,无法推进下一步工作。
DataFast 的作者 Patrick Fleith 在实际项目中多次遇到这一困境,最终选择自己动手,研发了这套合成数据生成框架。
DataFast 定位为LLM 项目的合成文本数据集生成工具,目前支持以下六类数据集:
| 数据集类型 | 适用场景 | 技术亮点 |
|---|---|---|
| 文本分类(Classification) | 情感分析、意图识别、垃圾过滤 | 支持多语言、多风格prompt扩展 |
| 原始文本生成(Raw Text) | 通用文本扩充、数据增强 | 支持多LLM并行生成提升多样性 |
| 指令数据集(Ultrachat-like) | SFT监督微调、Chat模型训练 | 支持Evol-Instruct风格的指令增强 |
| 多选问答(MCQ) | 知识问答、考试数据集 | 自动生成干扰选项 |
| 偏好数据集(Preference) | DPO/RLHF训练 | 格式兼容主流RL框架 |
| Generic Pipeline | 自定义工作流 | 完全可扩展的Prompt配置 |
多LLM并行策略是 DataFast 的一大特色:一次生成任务可以同时调用 OpenAI GPT、Anthropic Claude、Google Gemini、Mistral 和本地 Ollama 五种后端。不同模型的生成结果存在风格差异,这种天然的多样性直接提升了最终数据集的覆盖度,比单一模型生成的数据质量更均衡。
DataFast 的代码结构清晰,采用分层模块设计:
datafast/
├── llms.py # LLM提供者抽象层(基于LiteLLM)
├── datasets.py # 数据集生成核心逻辑
├── expanders.py # Prompt组合扩展器
├── schema/ # Pydantic数据模型(强类型验证)
│ ├── config.py # 各类数据集配置模型
│ └── data_rows.py # 输出行数据模型
└── prompts/ # 内置Prompt模板库
├── classification_prompts.py
├── mcq_prompts.py
└── preference_prompts.py
关键技术选型:
DO NOT UPDATE - versions 1.82.7 and 1.82.8 compromised with malware,反映出对供应链安全的重视。Prompt扩展机制也值得注意:通过 PromptExpansionConfig 配置占位符组合,可以将少量种子Prompt扩展为大量变体。例如:5种上下文 × 3种写作风格 × 2种语言 = 30种组合,大幅提升数据多样性。
DataFast 的使用流程极为简洁:
# 1. 配置数据集类型和生成参数
config = ClassificationDatasetConfig(classes=[...], num_samples_per_prompt=5)
# 2. 选择LLM提供者(可多选)
providers = [OpenAIProvider("gpt-5-mini"), GeminiProvider("gemini-2.0-flash")]
# 3. 生成
dataset = ClassificationDataset(config)
dataset.generate(providers)
# 4. 推送到 Hugging Face Hub(可选)
dataset.push_to_hub("your_name/your_dataset")
Colab 官方笔记本提供了免配置的在线体验入口,零门槛上手。
DataFast 目前处于 Alpha 阶段(Development Status :: 3 - Alpha),有几个明显的局限:
DataFast 代表了一个重要趋势:用模型生成数据,再用数据训练模型。这种"合成数据飞轮"正在成为 LLM 迭代的核心路径——从Phi系列小模型到WizardLM指令数据集,合成数据已在多个知名项目中证明了其价值。
对于个人开发者和小型团队而言,DataFast 的意义在于:它把原本只有大公司才能完成的数据准备工作,下沉到了任何有 API Key 的人都能操作的级别。虽然目前生态还比较初期,但随着支持的模型和数据类型的扩充,有望成为 LLM 数据工程的基础设施之一。
数据来源:GitHub (57★),Apache-2.0 License,Python 3.10+,v0.0.36