distilabel
distilabel 是一个专为工程师打造的开源框架,旨在高效构建基于验证研究的合成数据生成与 AI 反馈流水线。在大型语言模型开发中,高质量数据的匮乏往往导致算力浪费和输出效果不佳,distilabel 正是为了解决这一核心痛点而生。它帮助用户通过程序化方式快速合成多样化数据集,并利用 AI 对数据进行自动评估与筛选,从而从源头提升数据质量,让开发者能将宝贵时间集中在模型优化而非繁琐的数据准备上。
该工具特别适合从事自然语言处理(NLP)和大模型应用的开发者及研究人员,无论是传统的文本分类任务,还是复杂的指令遵循、对话生成场景,都能轻松应对。distilabel 的独特亮点在于其高度的灵活性与兼容性:它通过统一的 API 集成市面上任意大模型提供商的 AI 反馈能力,让用户真正掌握微调自有模型所需的数据所有权。同时,框架内置了对最新研究成果的支持,确保流水线具备可扩展性和容错性。尽管原核心团队已转向新项目,但活跃的社区成员正积极维护并推动其迭代,使其成为当前追求高效、可靠数据工程流程的理想选择。
使用场景
某初创团队正在为垂直领域的法律问答大模型构建高质量的微调数据集,急需大量多样化的合成指令数据及对应的质量评估反馈。
没有 distilabel 时
- 流程割裂且低效:工程师需手动编写脚本串联数据生成、清洗和评估环节,每次调整策略都要重写大量胶水代码,迭代周期长达数天。
- 评估标准不一致:依赖人工标注或简单的规则匹配来评判合成数据质量,缺乏基于前沿研究论文的标准化 AI 反馈机制,导致数据噪声大。
- 扩展性差:当数据量从千级扩展到百万级时,原有脚本缺乏容错机制和并行处理能力,任务频繁中断且难以恢复。
- 模型供应商锁定:切换不同的 LLM 提供商(如从 OpenAI 切到本地部署模型)需要重构整个 API 调用逻辑,无法统一管控。
使用 distilabel 后
- 流水线编排自动化:利用 distilabel 的程序化接口快速搭建可扩展的数据生成与反馈闭环,将迭代周期从数天缩短至几小时。
- 引入科研级评估:直接调用内置的基于验证论文的研究方法,让强大的 LLM 自动对合成数据进行打分和筛选,显著提升数据纯净度。
- 弹性伸缩与容错:原生支持大规模分布式运行,任务失败可自动重试或断点续传,轻松处理百万级数据合成任务而不崩溃。
- 统一 API 集成多模型:通过 distilabel 的统一抽象层,无缝切换任意 LLM 提供商进行数据生成或评判,无需修改核心业务逻辑。
distilabel 通过标准化的合成数据与 AI 反馈流水线,帮助团队以最低成本实现了高质量专属数据集的快速构建与迭代。
运行环境要求
- 未说明
- 非必需
- 取决于所选的 LLM 集成:若使用本地模型(如 vllm, llama-cpp, transformers, mlx),则需要 GPU(具体型号和显存取决于模型大小)
- 若使用云端 API(如 OpenAI, Anthropic, HF Inference Endpoints),则无需本地 GPU
未说明(取决于处理的数据集大小和运行的模型)

快速开始
[!重要]
原作者已转向其他项目。近期,一群社区成员加入了 GitHub 项目,成为协作者以维护该项目,并正在积极筹备下一个版本的发布。在此期间,请查看develop分支,以获取最新的修复和改进。
为 AI 合成数据,并即时添加反馈!
Distilabel 是一个面向工程师的合成数据与 AI 反馈框架,旨在提供基于可靠研究论文、快速、可靠且可扩展的数据流水线。
如果您只想快速上手,建议您查阅文档。如果您感到好奇并想了解更多?请继续阅读!
为什么使用 Distilabel?
Distilabel 可用于生成各种项目的合成数据和 AI 反馈,包括传统的预测性 NLP(分类、抽取等)以及生成式和大型语言模型场景(指令遵循、对话生成、评价等)。Distilabel 的程序化方法使您能够构建可扩展的数据生成和 AI 反馈流水线。Distilabel 的目标是通过快速生成高质量、多样化的数据集,并结合经过验证的 AI 反馈生成与评估方法,来加速您的 AI 开发进程。
通过数据质量提升 AI 输出质量
计算资源昂贵,而输出质量至关重要。我们帮助您专注于数据质量,从而一次性解决这两个问题的根本原因。Distilabel 可帮助您合成和评估数据,让您将宝贵的时间投入到实现并保持高质量的数据标准上。
掌控您的数据与模型
拥有用于微调自有 LLM 的数据并非易事,但 Distilabel 可以助您入门。我们通过统一的 API 集成了来自任何 LLM 提供商的AI 反馈。
通过快速迭代正确的研究与 LLM 提升效率
利用最新研究论文合成并评估数据,同时确保灵活性、可扩展性和容错性。这样,您就可以专注于优化数据并训练模型。
社区
我们是一个由社区驱动的开源项目,非常欢迎您的参与。以下是几种参与方式:
社区聚会:在我们的双周活动中聆听或发表演讲。
Discord:在 #argilla-general 和 #argilla-help 频道中获得社区的直接支持。
路线图:计划可能会变化,但我们乐于与社区讨论这些计划,欢迎您积极参与。
人们用 Distilabel 构建了什么?
Argilla 社区使用 Distilabel 创建了许多精彩的数据集和模型。
- 1M OpenHermesPreference 是一个约 100 万条 AI 偏好数据的数据集,源自 teknium/OpenHermes-2.5。它展示了我们如何使用 Distilabel 在大规模范围内合成数据。
- 我们的distilabeled Intel Orca DPO 数据集以及改进后的 OpenHermes 模型,表明我们如何通过AI 反馈过滤掉原始数据集中的 50%,从而提升模型性能。
- haiku DPO 数据 描述了任何人都可以如何创建针对特定任务的数据集,并结合最新研究论文来提高数据质量。
安装
pip install distilabel --upgrade
需要 Python 3.9 或更高版本。
此外,还提供了以下附加选项:
大语言模型
anthropic: 用于通过AnthropicLLM集成调用 Anthropic API 中可用的模型。cohere: 用于通过CohereLLM集成调用 Cohere 中可用的模型。argilla: 用于将生成的数据集导出到 Argilla。groq: 用于通过GroqLLM集成,使用groqPython 客户端调用 Groq 中可用的模型。hf-inference-endpoints: 用于通过InferenceEndpointsLLM集成调用 Hugging Face 推理端点。hf-transformers: 用于通过TransformersLLM集成调用 transformers 包中可用的模型。litellm: 用于通过LiteLLM集成,使用LiteLLM按照 OpenAI 格式调用任何大语言模型。llama-cpp: 用于通过LlamaCppLLM集成,使用 llama-cpp-python Python 绑定调用llama.cpp。mistralai: 用于通过MistralAILLM集成调用 Mistral AI API 中可用的模型。ollama: 用于通过OllamaLLM集成调用 Ollama 及其提供的模型。openai: 用于通过OpenAILLM集成调用 OpenAI API 中的模型;其他基于 OpenAI 的集成,如AnyscaleLLM、AzureOpenAILLM和TogetherLLM,也依赖于 OpenAI 客户端。vertexai: 用于通过VertexAILLM集成调用 Google Vertex AI 的专有模型。vllm: 用于通过vLLM集成调用 vllm 服务引擎。sentence-transformers: 用于使用 sentence-transformers 生成句子嵌入。mlx: 用于通过MlxLLM集成调用 MLX 模型。
结构化生成
outlines: 用于通过 outlines 实现大语言模型的结构化生成。instructor: 用于通过 Instructor 实现大语言模型的结构化生成。
数据处理
ray: 用于通过 Ray 扩展和分布式处理流水线。faiss-cpu和faiss-gpu: 用于使用 faiss 生成句子嵌入。text-clustering: 用于结合 UMAP 和 Scikit-learn 进行文本聚类。minhash: 用于结合 datasketch 和 nltk 使用 minhash 进行重复检测。
示例
要运行以下示例,您需要安装带有 hf-inference-endpoints 附加组件的 distilabel:
pip install "distilabel[hf-inference-endpoints]" --upgrade
然后运行:
from datasets import load_dataset
from distilabel.models import InferenceEndpointsLLM
from distilabel.pipeline import Pipeline
from distilabel.steps.tasks import TextGeneration
with Pipeline() as pipeline:
TextGeneration(
llm=InferenceEndpointsLLM(
model_id="meta-llama/Meta-Llama-3.1-8B-Instruct",
generation_kwargs={"temperature": 0.7, "max_new_tokens": 512},
),
)
if __name__ == "__main__":
dataset = load_dataset("distilabel-internal-testing/instructions", split="test")
distiset = pipeline.run(dataset=dataset)
distiset.push_to_hub(repo_id="distilabel-example")
徽章
如果您使用 distilabel 构建了酷炫的东西,请考虑在您的数据集或模型卡片上添加以下徽章之一。
[<img src="https://oss.gittoolsai.com/images/argilla-io_distilabel_readme_25ce9e17a758.png" alt="Built with Distilabel" width="200" height="32"/>](https://github.com/argilla-io/distilabel)
[<img src="https://oss.gittoolsai.com/images/argilla-io_distilabel_readme_8c6e162fcafd.png" alt="Built with Distilabel" width="200" height="32"/>](https://github.com/argilla-io/distilabel)
贡献
如需直接为 distilabel 做贡献,请查看我们的 初次贡献问题 或 创建一个新的问题。
引用
@misc{distilabel-argilla-2024,
author = {Álvaro Bartolomé Del Canto and Gabriel Martín Blázquez and Agustín Piqueres Lajarín and Daniel Vila Suero},
title = {Distilabel: An AI Feedback (AIF) framework for building datasets with and for LLMs},
year = {2024},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/argilla-io/distilabel}}
}
版本历史
1.5.32025/01/281.5.22025/01/221.5.12025/01/171.5.02025/01/171.4.22024/12/181.4.12024/10/161.4.02024/10/081.3.22024/08/231.3.12024/08/071.3.02024/08/061.2.42024/07/231.2.32024/07/231.2.22024/07/121.2.12024/07/011.2.02024/06/181.1.12024/05/221.1.02024/05/201.0.32024/04/251.0.22024/04/241.0.12024/04/19常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备