Dingo:面向AI时代的全方位数据质量评估工具
大家好,今天给各位介绍一款开源的数据质量评估工具——Dingo。在当前AI大模型蓬勃发展的时代,”数据为王”已经成为共识,但”垃圾进,垃圾出”的铁律同样不容忽视。无论是训练自己的模型,还是使用现有模型,高质量的数据都是成功的关键。Dingo就是为解决这一痛点而生的全方位数据质量评估工具。
为什么数据质量如此重要?
在我们的实践中,以下数据问题经常困扰着AI从业者:
-
训练集中存在大量重复、无意义的样本 -
指令微调数据中问答不匹配或质量低下 -
预训练语料包含大量脏数据和格式错误的文本 -
评测数据集存在偏差,导致评估结果不准确 -
多模态数据中图文不匹配或描述不准确
这些问题不仅浪费计算资源,更会直接影响模型性能。尤其在大模型时代,数据质量问题被进一步放大——训练一次的成本高昂,而发现数据问题往往为时已晚。
Dingo: 全方位守护你的数据质量
Dingo提供了一站式的数据质量评估解决方案,它的核心特点包括:

1. 多源多模态支持
无论你的数据来自哪里,Dingo都能轻松应对:
-
本地文件(各种格式) -
HuggingFace数据集 -
S3存储桶
同时支持文本和图像两种模态,未来还将扩展到音频和视频。
2. 双轨评估方法
Dingo采用两种互补的评估方法:
基于规则的评估:内置20多种启发式规则,可以快速检测常见问题,如文本不完整、字符分布异常、内容重复等。
基于大模型的评估:集成包括OpenAI的GPT系列、Deepseek以及Llama3等在内的大语言模型,进行更加细致和语义化的质量评估。
3. 灵活的使用方式
Dingo提供多种使用方式:
-
命令行界面,适合快速评估 -
SDK,方便集成到现有流程 -
支持本地执行和Spark分布式处理
4. 多维度质量评估
Dingo从多个关键维度评估数据质量:
-
完整性:数据是否完整,是否缺失元素? -
有效性:数据格式是否正确,内容是否有意义? -
流畅性:文本是否自然流畅,符合语法规则?
-
安全性:数据是否包含敏感信息或有问题的内容? -
相似度:是否存在重复或冗余内容? -
等等…
实战案例:Dingo如何提升你的AI项目
案例一:预训练语料筛选
某团队使用Dingo筛选了1TB的中文语料,发现约25%的数据存在严重质量问题。通过Dingo的评估结果,他们不仅过滤掉了低质量内容,还发现了数据中的若干痛点问题,如大量重复段落、网页抓取错误等。结果,他们用75%的高质量数据训练出的模型性能反而优于使用全量数据的基线模型。
快速上手Dingo
安装非常简单:
pip install dingo-python
下面是一个简单的示例,评估本地文本文件:
from dingo.io import InputArgsfrom dingo.execimport Executor# 评估一个纯文本文件input_data = {"eval_group": "sft", # 用于SFT数据的规则集"input_path": "data.txt", # 本地文本文件路径"dataset": "local","data_format": "plaintext", # 格式:纯文本"save_data": True# 保存评估结果}input_args = InputArgs(**input_data)executor = Executor.exec_map["local"](input_args)result = executor.execute()# 获取结果summary = executor.get_summary() # 总体评估摘要bad_data = executor.get_bad_info_list() # 有问题数据列表good_data = executor.get_good_info_list() # 高质量数据列表
扩展Dingo满足特定需求
Dingo的设计注重可扩展性,你可以轻松创建自定义规则:
from dingo.model import Modelfrom dingo.model.rule.base import BaseRulefrom dingo.config.config import DynamicRuleConfigfrom dingo.io import MetaDatafrom dingo.model.modelres import ModelRes@Model.rule_register('MY_CUSTOM_RULE', ['default'])classMyCustomRule(BaseRule):"""检查文本中的自定义模式""" dynamic_config = DynamicRuleConfig(pattern=r'你的模式正则表达式') @classmethoddefeval(cls, input_data: MetaData) -> ModelRes: res = ModelRes()# 在这里实现你的规则return res
你还可以集成自定义LLM模型或提示,以适应特定领域的评估需求。
可视化评估界面
基于Dingo我们构建了的企业级数据质量评估与管理平台Dingo SaaS。它将 Dingo 强大的数据质量评估能力产品化,提供 Web 界面、API 服务和完整的数据管理工作流。这个交互式界面帮助你探索问题实例,了解质量分布。

结语
在AI竞争日益激烈的今天,数据质量已成为决定成败的关键因素。工欲善其事,必先利其器,Dingo正是为此而生的利器。它不仅帮助你发现数据中的问题,更通过全方位评估为你的AI项目保驾护航。
github开源项目地址:https://github.com/MigoXLab/dingo (欢迎点个Star!👏👏👏)
Dingo SAAS平台地址:https://dingo.openxlab.org.cn/
夜雨聆风