
synthetic-data-kit
一键生成高质量合成数据,告别数据短缺和隐私烦恼
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1652
技术标签
使用教程
⚠ 本教程由 AI 依据该项目 README 整理;原始文档不完整,部分步骤为通用流程推断,实际安装请以项目官方文档为准。
⚠ 该项目 README 未提供完整安装说明,以下步骤为通用流程,请以官方文档为准。
环境要求
- Python 运行环境(README 未标注具体版本)
- 可用的 LLM 后端:本地 vLLM 服务或外部 API 端点
- YAML 配置文件(默认 configs/config.yaml)
- 使用 API 端点时需准备 api_key(如 llama-api-key)
安装与启动步骤
-
1获取项目源码
从 GitHub 拉取仓库并进入项目目录;README 的 Installation 小节为空,此处为通用准备动作。
git clone https://github.com/meta-llama/synthetic-data-kit.git cd synthetic-data-kit -
2配置 LLM 后端
编辑默认配置 configs/config.yaml,把 llm.provider 设为 vllm 或 api-endpoint,并填好对应地址与模型名。
-
3检查后端连通性
运行内置检查命令,确认配置的 LLM 后端可以正常访问,避免后续生成任务失败。
synthetic-data-kit system-check -
4导入原始数据
用 ingest 命令导入文件或整个目录,支持多种文件格式(README 示例为 PDF)。
synthetic-data-kit ingest docs/paper.pdf -
5生成合成数据
用 create 命令生成 QA 对、带 CoT 的 QA 对或 summary 格式;具体参数 README 未给出,请按需查阅项目文档。
synthetic-data-kit create -
6筛选高质量样本
用 curate 命令以 Llama 作为裁判筛选高质量样本,阈值由 curate.threshold 控制(示例为 7.0)。
synthetic-data-kit curate -
7导出微调格式
用 save-as 命令把结果保存为你的微调框架支持的格式;可选格式 README 未逐一列出。
synthetic-data-kit save-as -
8使用自定义配置
创建覆盖用的 YAML 文件,通过 -c 参数指定,即可在不改默认配置的情况下切换后端或参数。
synthetic-data-kit -c my_config.yaml ingest docs/paper.pdf
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
llm.provider | 是 | 选择 LLM 后端类型 | vllm |
vllm.api_base | 否 | 本地 vLLM 服务的 API 地址 | http://localhost:8000/v1 |
vllm.model | 否 | vLLM 后端加载的模型名 | meta-llama/Llama-3.3-70B-Instruct |
api-endpoint.api_key | 否 | 调用外部 API 端点所需的密钥 | llama-api-key |
generation.temperature | 否 | 生成时的采样温度 | 0.7 |
curate.threshold | 否 | Llama 裁判筛选样本的分数阈值 | 7.0 |
如何确认成功
执行 synthetic-data-kit system-check,命令无报错即表示配置的 LLM 后端可正常连通。
常见问题
Q:README 里 Installation 小节是空的,怎么安装?
A:节选内容中未给出 pip 或 Docker 安装命令,建议直接克隆仓库后按仓库内文档补齐依赖,或参考项目 GitHub 主分支 README。
Q:应该选 vLLM 还是 API 端点?
A:有本地 GPU 并已部署 vLLM 时用 provider: vllm;没有本地算力则用 provider: api-endpoint 并填写外部服务的 api_base、api_key 和 model。
Q:如何在不改默认配置的情况下换配置?
A:新建一个覆盖用的 YAML 文件,用 -c 参数指定,例如 synthetic-data-kit -c my_config.yaml ingest docs/paper.pdf。
Q:生成的数据存在哪里?
A:README 说明所有数据默认以 Lance 格式存储,后续 curate 和 save-as 都基于这份数据继续处理。
注意事项
- README 节选缺少安装步骤与各命令的参数说明,实际执行前请先查看完整 README。
- 本教程中的 create、curate、save-as 命令仅给出了命令名,参数需自行按项目文档补全。
- vllm.api_base、api_key 等值请替换为你自己的真实地址与密钥,示例值不可直接用于生产。
核心亮点
- 提供从数据剖析到生成评估的完整工作流,开箱即用
- 内置多种生成算法和可插拔架构,适配不同数据形态
- 强调数据质量与偏差检测,生成结果更可信
不足之处
- 文档/社区待观察
- 对复杂业务规则的支持可能依赖自定义扩展
适用场景
- 机器学习模型开发需要大量训练数据时
- 涉及用户隐私,需用合成数据替代真实数据
- 测试环境需要模拟真实业务数据
替代项目
SDV (Synthetic Data Vault)、Faker、ydata-synthetic
同类项目推荐
weibo_terminater
开源
一键抓取微博全量数据,评论、关注者全搞定
Final Weibo Crawler Scrap Anything From Weibo, comments, weibo contents, followers, ···
spotlight
开源
从 DataFrame 交互式浏览图像音频数据集,快速筛出脏数据。
Interactively explore unstructured datasets from your dataframe.
tfrecord
开源
不装 TensorFlow 也能读写 TFRecord,直接接 PyTorch
Standalone TFRecord reader/writer with PyTorch data loaders
awesome-japanese-nlp-resources
开源
一份清单搞定日语 NLP 工具、模型与语料检索
A curated list of resources for Japanese natural language processing (NLP): Python l···
compliance-checker
开源
一键扫描数据集,快速发现合规风险
Python tool to check your datasets against compliance standards
TTS-dataset-tools
开源
上传音频和文本,自动切分对齐,快速生成 TTS 数据集。
Automatically generates TTS dataset using audio and associated text. Make cuts under···
sd-tagtool
开源
拖拽整理SD训练标签,数据干净训练快
A stable diffusion training dataset tag editor.
VidProM
开源
百万真实提示词,让视频生成更懂用户
[NeurIPS 2024] VidProM: A Million-scale Real Prompt-Gallery Dataset for Text-to-Vide···
GraphGen
开源
用知识图谱自动造微调数据,省人工标注
GraphGen: Enhancing Supervised Fine-Tuning for LLMs with Knowledge-Driven Synthetic ···