Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
<a href="https://deepwiki.com/MigoXLab/dingo"><img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki"></a>
<a href="https://archestra.ai/mcp-catalog/dataeval__dingo"><img src="https://archestra.ai/mcp-catalog/api/badge/quality/DataEval/dingo" alt="Trust Score"></a>
<a href="https://clawhub.ai/e06084/dingo"><img src="https://img.shields.io/badge/ClawHub-Skill-orange?logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHRleHQgeT0iMTgiIGZvbnQtc2l6ZT0iMTYiPvCfpp48L3RleHQ+PC9zdmc+" alt="ClawHub Skill"></a>
<a href="https://mcptoplist.com/server/glama%2FMigoXLab%2Fdingo"><img src="https://mcptoplist.com/badge/glama%2FMigoXLab%2Fdingo.svg" alt="MCP Toplist"></a>
</p>

</div>
Expand Down Expand Up @@ -96,7 +97,7 @@ Need a **production-grade data quality platform**? Try [Dingo SaaS](https://ding

### 📝 How to Get Free SaaS Code

👉 **[Apply for Dingo SaaS Repository Access](https://aicarrier.feishu.cn/share/base/form/shrcnr19E0upfiA92Wm5i2eic7g)**
👉 **[Apply for Dingo SaaS Repository Access](https://aicarrier.feishu.cn/share/base/form/shrcn9RqYttByQ5H1np6Yrnmhuf)**

Review time: 1-5 business days | Suitable for enterprise data governance, team collaboration

Expand Down
2 changes: 1 addition & 1 deletion README_ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@

### 📝 無料 SaaS コードの入手方法

👉 **[Dingo SaaS リポジトリアクセスを申請する](https://aicarrier.feishu.cn/share/base/form/shrcnr19E0upfiA92Wm5i2eic7g)**
👉 **[Dingo SaaS リポジトリアクセスを申請する](https://aicarrier.feishu.cn/share/base/form/shrcn9RqYttByQ5H1np6Yrnmhuf)**

審査時間:1-5営業日 | エンタープライズデータガバナンス、チームコラボレーションに最適

Expand Down
36 changes: 15 additions & 21 deletions dingo/model/rule/rule_common.py
Original file line number Diff line number Diff line change
Expand Up @@ -171,20 +171,19 @@ class RuleAudioDataFormat(BaseRule):
"category": "Rule-Based TEXT Quality Metrics",
"quality_dimension": "EFFECTIVENESS",
"metric_name": "RuleAudioDataFormat",
"description": "Check whether the audio data format is right",
"description": "Check whether the audio data format is right, include id, audio, text fields",
"evaluation_results": ""
}

_required_fields = [RequiredField.CONTENT]
dynamic_config = EvaluatorRuleArgs()

@classmethod
def eval(cls, input_data: Data) -> EvalDetail:
res = EvalDetail(metric=cls.__name__)

raw_data = input_data.raw_data
record = input_data.to_dict()
key_list = ["id", "audio", "text"]
if all(key in raw_data for key in key_list):
if all(key in record for key in key_list):
res.label = [QualityLabel.QUALITY_GOOD]
else:
res.status = True
Expand Down Expand Up @@ -1305,20 +1304,19 @@ class RuleImageDataFormat(BaseRule):
"category": "Rule-Based TEXT Quality Metrics",
"quality_dimension": "EFFECTIVENESS",
"metric_name": "RuleImageDataFormat",
"description": "Check whether the image data format is right",
"description": "Check whether the image data format is right, include img_id, image fields",
"evaluation_results": ""
}

_required_fields = [RequiredField.CONTENT]
dynamic_config = EvaluatorRuleArgs()

@classmethod
def eval(cls, input_data: Data) -> EvalDetail:
res = EvalDetail(metric=cls.__name__)

raw_data = input_data.raw_data
record = input_data.to_dict()
key_list = ["img_id", "image"]
if all(key in raw_data for key in key_list):
if all(key in record for key in key_list):
res.label = [QualityLabel.QUALITY_GOOD]
else:
res.status = True
Expand Down Expand Up @@ -1655,20 +1653,19 @@ class RuleNlpDataFormat(BaseRule):
"category": "Rule-Based TEXT Quality Metrics",
"quality_dimension": "EFFECTIVENESS",
"metric_name": "RuleNlpDataFormat",
"description": "Check whether the nlp data format is right",
"description": "Check whether the nlp data format is right, include track_id, content fields",
"evaluation_results": ""
}

_required_fields = [RequiredField.CONTENT]
dynamic_config = EvaluatorRuleArgs()

@classmethod
def eval(cls, input_data: Data) -> EvalDetail:
res = EvalDetail(metric=cls.__name__)

raw_data = input_data.raw_data
record = input_data.to_dict()
key_list = ["track_id", "content"]
if all(key in raw_data for key in key_list):
if all(key in record for key in key_list):
res.label = [QualityLabel.QUALITY_GOOD]
else:
res.status = True
Expand Down Expand Up @@ -1826,20 +1823,19 @@ class RuleSftDataFormat(BaseRule):
"category": "Rule-Based TEXT Quality Metrics",
"quality_dimension": "EFFECTIVENESS",
"metric_name": "RuleSftDataFormat",
"description": "Check whether the sft data format is right",
"description": "Check whether the sft data format is right, include track_id, type, prompt, completion fields",
"evaluation_results": ""
}

_required_fields = [RequiredField.CONTENT]
dynamic_config = EvaluatorRuleArgs()

@classmethod
def eval(cls, input_data: Data) -> EvalDetail:
res = EvalDetail(metric=cls.__name__)

raw_data = input_data.raw_data
record = input_data.to_dict()
key_list = ["track_id", "type", "prompt", "completion"]
if all(key in raw_data for key in key_list):
if all(key in record for key in key_list):
res.label = [QualityLabel.QUALITY_GOOD]
else:
res.status = True
Expand Down Expand Up @@ -2204,19 +2200,17 @@ class RuleVedioDataFormat(BaseRule):
"category": "Rule-Based TEXT Quality Metrics",
"quality_dimension": "EFFECTIVENESS",
"metric_name": "RuleVedioDataFormat",
"description": "Check whether the vedio data format is right",
"description": "Check whether the vedio data format is right, include id, video, text fields",
"evaluation_results": ""
}
dynamic_config = EvaluatorRuleArgs()

_required_fields = [RequiredField.CONTENT]

@classmethod
def eval(cls, input_data: Data) -> EvalDetail:
res = EvalDetail(metric=cls.__name__)
raw_data = input_data.raw_data
record = input_data.to_dict()
key_list = ["id", "video", "text"]
if all(key in raw_data for key in key_list):
if all(key in record for key in key_list):
res.label = [QualityLabel.QUALITY_GOOD]
else:
res.status = True
Expand Down
Binary file modified docs/assets/wechat.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading