[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-MigoXLab--dingo":3,"tool-MigoXLab--dingo":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":75,"owner_avatar_url":76,"owner_bio":77,"owner_company":78,"owner_location":78,"owner_email":78,"owner_twitter":78,"owner_website":79,"owner_url":80,"languages":81,"stars":86,"forks":87,"last_commit_at":88,"license":89,"difficulty_score":23,"env_os":90,"env_gpu":91,"env_ram":92,"env_deps":93,"category_tags":102,"github_topics":103,"view_count":23,"oss_zip_url":78,"oss_zip_packed_at":78,"status":16,"created_at":124,"updated_at":125,"faqs":126,"releases":167},3772,"MigoXLab\u002Fdingo","dingo","Dingo: A Comprehensive AI Data, Model and Application Quality Evaluation Tool","Dingo 是一款专为人工智能领域打造的全方位质量评估工具，旨在帮助开发者系统性地衡量并提升数据、模型及应用的整体表现。在 AI 开发过程中，训练数据脏乱、大模型产生“幻觉”以及检索增强生成（RAG）系统效果不佳是常见痛点，Dingo 正是为解决这些问题而生。它能够对机器学习数据集进行深度清洗与验证，精准检测大语言模型训练数据中的错误与幻觉现象，并对 RAG 系统的实际运行效果进行量化评估。\n\n这款工具特别适合机器学习工程师、数据科学家以及 AI 研究人员使用。无论是正在准备微调数据集的算法团队，还是致力于优化生产环境 AI 系统的技术专家，都能通过 Dingo 获得客观的质量反馈。其核心亮点在于将复杂的数据质量检查流程标准化和自动化，覆盖了从原始数据校验到最终应用评估的全链路。基于 Python 构建且开源免费，Dingo 不仅支持跨平台部署，还允许用户根据具体需求灵活扩展评估规则。通过引入 Dingo，团队可以更高效地识别数据缺陷，降低模型训练风险，从而构建出更可靠、更智能的 AI 应用。","\u003C!-- SEO Meta Information and Structured Data -->\n\u003Cdiv itemscope itemtype=\"https:\u002F\u002Fschema.org\u002FSoftwareApplication\" align=\"center\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F1999\u002Fhtml\">\n  \u003Cmeta itemprop=\"name\" content=\"Dingo: A Comprehensive AI Data Quality Evaluation Tool\">\n  \u003Cmeta itemprop=\"description\" content=\"Comprehensive AI-powered data quality assessment platform for machine learning datasets, LLM training data validation, hallucination detection, and RAG system evaluation\">\n  \u003Cmeta itemprop=\"applicationCategory\" content=\"Data Quality Software\">\n  \u003Cmeta itemprop=\"operatingSystem\" content=\"Cross-platform\">\n  \u003Cmeta itemprop=\"programmingLanguage\" content=\"Python\">\n  \u003Cmeta itemprop=\"url\" content=\"https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\">\n  \u003Cmeta itemprop=\"downloadUrl\" content=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Fdingo-python\u002F\">\n  \u003Cmeta itemprop=\"softwareVersion\" content=\"latest\">\n  \u003Cmeta itemprop=\"license\" content=\"Apache-2.0\">\n\n\u003C!-- logo -->\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMigoXLab_dingo_readme_cb6f5eacda4b.png\" width=\"300px\" style=\"vertical-align:middle;\" alt=\"Dingo AI Data Quality Evaluation Tool Logo\">\n\u003C\u002Fp>\n\n\u003C!-- badges -->\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpre-commit\u002Fpre-commit\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white\" alt=\"pre-commit\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Fdingo-python\u002F\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fdingo-python.svg\" alt=\"PyPI version\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Fdingo-python\u002F\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Fdingo-python.svg\" alt=\"Python versions\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fblob\u002Fmain\u002FLICENSE\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002FDataEval\u002Fdingo\" alt=\"License\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fstargazers\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FDataEval\u002Fdingo\" alt=\"GitHub stars\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fnetwork\u002Fmembers\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fforks\u002FDataEval\u002Fdingo\" alt=\"GitHub forks\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fissues\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002FDataEval\u002Fdingo\" alt=\"GitHub issues\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fmseep.ai\u002Fapp\u002Fdataeval-dingo\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMigoXLab_dingo_readme_27fe7764be95.png\" alt=\"MseeP.ai Security Assessment Badge\" height=\"20\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fdeepwiki.com\u002FMigoXLab\u002Fdingo\">\u003Cimg src=\"https:\u002F\u002Fdeepwiki.com\u002Fbadge.svg\" alt=\"Ask DeepWiki\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Farchestra.ai\u002Fmcp-catalog\u002Fdataeval__dingo\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMigoXLab_dingo_readme_5dfccc754b71.png\" alt=\"Trust Score\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fclawhub.ai\u002Fe06084\u002Fdingo\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FClawHub-Skill-orange?logo=data:image\u002Fsvg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHRleHQgeT0iMTgiIGZvbnQtc2l6ZT0iMTYiPvCfpp48L3RleHQ+PC9zdmc+\" alt=\"ClawHub Skill\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003C\u002Fdiv>\n\n\n\u003Cdiv align=\"center\">\n\n[English](README.md) · [简体中文](README_zh-CN.md) · [日本語](README_ja.md)\n\n\u003C\u002Fdiv>\n\n\n\u003C!-- join us -->\n\n\u003Cp align=\"center\">\n    👋 join us on \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FJhgb2eKWh8\" target=\"_blank\">Discord\u003C\u002Fa> and \u003Ca href=\".\u002Fdocs\u002Fassets\u002Fwechat.jpg\" target=\"_blank\">WeChat\u003C\u002Fa>\n\u003C\u002Fp>\n\n\n\u003Cp align=\"center\">\n  If you like Dingo, please give us a ⭐ on GitHub!\n  \u003Cbr\u002F>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fstargazers\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMigoXLab_dingo_readme_499122819770.gif\" alt=\"Click Star\" width=\"480\">\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\n# Introduction\n\n**Dingo is A Comprehensive AI Data, Model and Application Quality Evaluation Tool**, designed for ML practitioners, data engineers, and AI researchers. It helps you systematically assess and improve the quality of training data, fine-tuning datasets, and production AI systems.\n\n---\n\n## 🚀 Enterprise Dingo SaaS Version\n\nNeed a **production-grade data quality platform**? Try [Dingo SaaS](https:\u002F\u002Fdingo.openxlab.org.cn) Enterprise Edition!\n\n### ✨ Compared to the open-source version, SaaS provides:\n\n- 🌐 **Web UI** - Visual evaluation interface, no coding required\n- 🔐 **Access Control** - JWT + Google OAuth 2.0\n- 📊 **Visual Reports** - Interactive charts, trend analysis, export features\n- 🔌 **RESTful API** - Seamless integration with existing systems\n\n### 📝 How to Get Free SaaS Code\n\n👉 **[Apply for Dingo SaaS Repository Access](https:\u002F\u002Faicarrier.feishu.cn\u002Fshare\u002Fbase\u002Fform\u002Fshrcnr19E0upfiA92Wm5i2eic7g)** \n\nReview time: 1-5 business days | Suitable for enterprise data governance, team collaboration\n\n---\n\n## Why Dingo?\n\n🎯 **Production-Grade Quality Checks** - From pre-training datasets to RAG systems, ensure your AI gets high-quality data\n\n🗄️ **Multi-Source Data Integration** - Seamlessly connect to Local files, SQL databases (PostgreSQL\u002FMySQL\u002FSQLite), HuggingFace datasets, and S3 storage\n\n🔍 **Multi-Field Evaluation** - Apply different quality rules to different fields in parallel (e.g., ISBN validation for `isbn`, text quality for `title`)\n\n🤖 **RAG System Assessment** - Comprehensive evaluation of retrieval and generation quality with 5 academic-backed metrics\n\n🧠 **LLM & Rule & Agent Hybrid** - Combine fast heuristic rules (30+ built-in) with LLM-based deep assessment\n\n🚀 **Flexible Execution** - Run locally for rapid iteration or scale with Spark for billion-scale datasets\n\n📊 **Rich Reporting** - Detailed quality reports with GUI visualization and field-level insights\n\n## Architecture Diagram\n\n![Architecture of dingo](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMigoXLab_dingo_readme_eab230f8536f.png)\n\n# Quick Start\n\n## Installation\n\n```shell\n# Core package (includes rule evaluation, LLM evaluation, MCP server, datasource support)\npip install dingo-python\n\n# With HHEM hallucination detection model (requires transformers + torch)\npip install \"dingo-python[hhem]\"\n\n# With all features (HHEM + Agent)\npip install \"dingo-python[all]\"\n```\n\n## Example Use Cases of Dingo\n\n### 1. Evaluate LLM chat data\n\n```python\nfrom dingo.config.input_args import EvaluatorLLMArgs\nfrom dingo.io.input import Data\nfrom dingo.model.llm.text_quality.llm_text_quality_v4 import LLMTextQualityV4\nfrom dingo.model.rule.rule_common import RuleSpecialCharacter\n\ndata = Data(\n    data_id='123',\n    prompt=\"hello, introduce the world\",\n    content=\"�I am 8 years old. ^I love apple because:\"\n)\n\n\ndef llm():\n    LLMTextQualityV4.dynamic_config = EvaluatorLLMArgs(\n        key='YOUR_API_KEY',\n        api_url='https:\u002F\u002Fapi.openai.com\u002Fv1\u002Fchat\u002Fcompletions',\n        model='gpt-4o',\n    )\n    res = LLMTextQualityV4.eval(data)\n    print(res)\n\ndef rule():\n    res = RuleSpecialCharacter().eval(data)\n    print(res)\n\nrule()\n```\n\n### 2. Evaluate Dataset\n\n```python\nfrom dingo.config import InputArgs\nfrom dingo.exec import Executor\n\n# Evaluate a dataset from Hugging Face\nif __name__ == '__main__':\n    input_data = {\n        \"input_path\": \"tatsu-lab\u002Falpaca\",  # Dataset from Hugging Face\n        \"dataset\": {\n            \"source\": \"hugging_face\",\n            \"format\": \"plaintext\"  # Format: plaintext\n        },\n        \"executor\": {\n            \"result_save\": {\n                \"bad\": True  # Save evaluation results\n            }\n        },\n        \"evaluator\": [\n            {\n                \"evals\": [\n                    {\"name\": \"RuleColonEnd\"},\n                    {\"name\": \"RuleSpecialCharacter\"}\n                ]\n            }\n        ]\n    }\n\n    input_args = InputArgs(**input_data)\n    executor = Executor.exec_map[\"local\"](input_args)\n    result = executor.execute()\n    print(result)\n```\n\n## Command Line Interface\n\n### Evaluate with Rule Sets\n\n```shell\ndingo eval --input .github\u002Fenv\u002Flocal_plaintext.json\n```\n\n### Evaluate with LLM (e.g., GPT-4o)\n\n```shell\ndingo eval --input .github\u002Fenv\u002Flocal_json.json\n```\n\n---\n\n# MCP Server\n\nDingo includes a built-in Model Context Protocol (MCP) server for AI agent integration:\n\n```bash\n# Start MCP server (SSE transport, default port 8000)\ndingo serve\n\n# Custom port\ndingo serve --port 9000\n\n# stdio transport (for Claude Desktop)\ndingo serve --transport stdio\n```\n\nFor detailed setup and Cursor\u002FClaude Desktop integration, see the dedicated documentation:\n\n[English](README_mcp.md) · [简体中文](README_mcp_zh-CN.md) · [日本語](README_mcp_ja.md)\n\n## Video Demonstration\n\nTo help you get started quickly with Dingo MCP, we've created a video walkthrough:\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Faca26f4c-3f2e-445e-9ef9-9331c4d7a37b\n\nThis video demonstrates step-by-step how to use Dingo MCP server with Cursor.\n\n---\n\n# 📚 Data Quality Metrics\n\nDingo provides **100+ evaluation metrics** across multiple dimensions, combining rule-based speed with LLM-based depth.\n\n## Metric Categories\n\n| Category | Examples | Use Case |\n|----------|----------|----------|\n| **Pretrain Text Quality** | Completeness, Effectiveness, Similarity, Security | LLM pre-training data filtering |\n| **SFT Data Quality** | Honest, Helpful, Harmless (3H) | Instruction fine-tuning data |\n| **RAG Evaluation** | Faithfulness, Context Precision, Answer Relevancy | RAG system assessment |\n| **Hallucination Detection** | HHEM-2.1-Open, Factuality Check | Production AI reliability |\n| **Classification** | Topic categorization, Content labeling | Data organization |\n| **Multimodal** | Image-text relevance, VLM quality, OCR visual evaluation | Vision-language data |\n| **Security** | PII detection, Perspective API toxicity | Privacy and safety |\n\n📊 **[View Complete Metrics Documentation →](docs\u002Fmetrics.md)**  \n📖 **[RAG Evaluation Guide →](docs\u002Frag_evaluation_metrics.md)** | **[中文版](docs\u002Frag_evaluation_metrics_zh.md)**  \n🔍 **[Hallucination Detection Guide →](docs\u002Fhallucination_detection_guide.md)** | **[中文版](docs\u002Fhallucination_guide.md)**  \n✅ **[Factuality Assessment Guide →](docs\u002Ffactuality_assessment_guide.md)** | **[中文版](docs\u002Ffactcheck_guide.md)**  \n👁️ **[VLM Render Judge Guide →](docs\u002Fen\u002Fvlm_render_judge_guide.md)** | **[中文版](docs\u002Fvlm_render_judge_guide.md)**\n\nMost metrics are backed by academic research to ensure scientific rigor.\n\n## Quick Metric Usage\n\n```python\nllm_config = {\n    \"model\": \"gpt-4o\",\n    \"key\": \"YOUR_API_KEY\",\n    \"api_url\": \"https:\u002F\u002Fapi.openai.com\u002Fv1\u002Fchat\u002Fcompletions\"\n}\n\ninput_data = {\n    \"evaluator\": [\n        {\n            \"fields\": {\"content\": \"content\"},\n            \"evals\": [\n                {\"name\": \"RuleAbnormalChar\"},           # Rule-based (fast)\n                {\"name\": \"LLMTextQualityV5\", \"config\": llm_config}  # LLM-based (deep)\n            ]\n        }\n    ]\n}\n```\n\n**Customization**: All prompts are defined in `dingo\u002Fmodel\u002Fllm\u002F` directory (organized by category: `text_quality\u002F`, `rag\u002F`, `hhh\u002F`, etc.). Extend or modify them for domain-specific requirements.\n\n\n---\n\n# 🎓 Key Concepts for Practitioners\n\n## What Makes Dingo Production-Ready?\n\n### 1. **Multi-Field Evaluation Pipeline**\nApply different quality checks to different fields in a single pass:\n```python\n\"evaluator\": [\n    {\"fields\": {\"content\": \"isbn\"}, \"evals\": [{\"name\": \"RuleIsbn\"}]},\n    {\"fields\": {\"content\": \"title\"}, \"evals\": [{\"name\": \"RuleAbnormalChar\"}]},\n    {\"fields\": {\"content\": \"description\"}, \"evals\": [{\"name\": \"LLMTextQualityV5\"}]}\n]\n```\n**Why It Matters**: Evaluate structured data (like database tables) without writing separate scripts for each field.\n\n### 2. **Stream Processing for Large Datasets**\nSQL datasources use SQLAlchemy's server-side cursors:\n```python\n# Handles billions of rows without OOM\nfor data in dataset.get_data():  # Yields one row at a time\n    result = evaluator.eval(data)\n```\n**Why It Matters**: Process production databases without exporting to intermediate files.\n\n### 3. **Field Isolation in Memory**\nRAG evaluations prevent context bleeding across different field combinations:\n```\noutputs\u002F\n├── user_input,response,retrieved_contexts\u002F  # Faithfulness group\n└── user_input,response\u002F                     # Answer Relevancy group\n```\n**Why It Matters**: Accurate metric calculations when evaluating multiple field combinations.\n\n### 4. **Hybrid Rule-LLM Strategy**\nCombine fast rules (100% coverage) with sampled LLM checks (10% coverage):\n```python\n\"evals\": [\n    {\"name\": \"RuleAbnormalChar\"},        # Fast, runs on all data\n    {\"name\": \"LLMTextQualityV5\"}         # Expensive, sample if needed\n]\n```\n**Why It Matters**: Balance cost and coverage for production-scale evaluation.\n\n### 5. **Extensibility Through Registration**\nClean plugin architecture for custom rules, prompts, and models:\n```python\n@Model.rule_register('QUALITY_BAD_CUSTOM', ['default'])\nclass MyCustomRule(BaseRule):\n    @classmethod\n    def eval(cls, input_data: Data) -> EvalDetail:\n        # Example: check if content is empty\n        if not input_data.content:\n            return EvalDetail(\n                metric=cls.__name__,\n                status=True,  # Found an issue\n                label=[f'{cls.metric_type}.{cls.__name__}'],\n                reason=[\"Content is empty\"]\n            )\n        return EvalDetail(\n            metric=cls.__name__,\n            status=False,  # No issue found\n            label=['QUALITY_GOOD']\n        )\n```\n**Why It Matters**: Adapt to domain-specific requirements without forking the codebase.\n\n---\n\n# 🌟 Feature Highlights\n\n## 📊 Multi-Source Data Integration\n\n**Diverse Data Sources** - Connect to where your data lives  \n✅ **Local Files**: JSONL, CSV, TXT, Parquet  \n✅ **SQL Databases**: PostgreSQL, MySQL, SQLite, Oracle, SQL Server (with stream processing)  \n✅ **Cloud Storage**: S3 and S3-compatible storage  \n✅ **ML Platforms**: Direct HuggingFace datasets integration\n\n**Enterprise-Ready SQL Support** - Production database integration  \n✅ Memory-efficient streaming for billion-scale datasets  \n✅ Connection pooling and automatic resource cleanup  \n✅ Complex SQL queries (JOIN, WHERE, aggregations)  \n✅ Multiple dialect support with SQLAlchemy\n\n**Multi-Field Quality Checks** - Different rules for different fields  \n✅ Parallel evaluation pipelines (e.g., ISBN validation + text quality simultaneously)  \n✅ Field aliasing and nested field extraction (`user.profile.name`)  \n✅ Independent result reports per field  \n✅ ETL pipeline architecture for flexible data transformation\n\n---\n\n## 🤖 RAG System Evaluation\n\n**5 Academic-Backed Metrics** - Based on RAGAS, DeepEval, TruLens research  \n✅ **Faithfulness**: Answer-context consistency (hallucination detection)  \n✅ **Answer Relevancy**: Answer-query alignment  \n✅ **Context Precision**: Retrieval precision  \n✅ **Context Recall**: Retrieval recall  \n✅ **Context Relevancy**: Context-query relevance\n\n**Comprehensive Reporting** - Auto-aggregated statistics  \n✅ Average, min, max, standard deviation for each metric  \n✅ Field-grouped results  \n✅ Batch and single evaluation modes\n\n📖 **[View RAG Evaluation Guide →](docs\u002Frag_evaluation_metrics_zh.md)**\n\n---\n\n## 🧠 Hybrid Evaluation System\n\n**Rule-Based** - Fast, deterministic, cost-effective  \n✅ 30+ built-in rules (text quality, format, PII detection)  \n✅ Regex, heuristics, statistical checks  \n✅ Custom rule registration\n\n**LLM-Based** - Deep semantic understanding  \n✅ OpenAI (GPT-4o, GPT-3.5), DeepSeek, Kimi  \n✅ Local models (Llama3, Qwen)  \n✅ Vision-Language Models (InternVL, Gemini)  \n✅ Custom prompt registration\n\n**Agent-Based** - Multi-step reasoning with tools  \n✅ Web search integration (Tavily)  \n✅ Adaptive context gathering  \n✅ Multi-source fact verification  \n✅ Custom agent & tool registration\n\n**Extensible Architecture**  \n✅ Plugin-based rule\u002Fprompt\u002Fmodel registration  \n✅ Clean separation of concerns (agents, tools, orchestration)  \n✅ Domain-specific customization\n\n---\n\n## 🚀 Flexible Execution & Integration\n\n**Multiple Interfaces**  \n✅ CLI for quick checks  \n✅ Python SDK for integration  \n✅ MCP (Model Context Protocol) server for IDEs (Cursor, etc.)\n\n**Scalable Execution**  \n✅ Local executor for rapid iteration  \n✅ Spark executor for distributed processing  \n✅ Configurable concurrency and batching\n\n**Data Sources**  \n✅ **Local Files**: JSONL, CSV, TXT, Parquet formats  \n✅ **Hugging Face**: Direct integration with HF datasets hub  \n✅ **S3 Storage**: AWS S3 and S3-compatible storage  \n✅ **SQL Databases**: PostgreSQL, MySQL, SQLite, Oracle, SQL Server (stream processing for large-scale data)\n\n**Modalities**  \n✅ Text (chat, documents, code)  \n✅ Images (with VLM support)  \n✅ Multimodal (text + image consistency)\n\n---\n\n## 📈 Rich Reporting & Visualization\n\n**Multi-Level Reports**  \n✅ Summary JSON with overall scores  \n✅ Field-level breakdown  \n✅ Per-rule violation details  \n✅ Type and name distribution\n\n**GUI Visualization (via [Dingo SaaS](https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo-saas))**  \n✅ Web UI with interactive data exploration  \n✅ Visual reports with trend analysis  \n✅ Anomaly tracking\n\n**Metric Aggregation**  \n✅ Automatic statistics (avg, min, max, std_dev)  \n✅ Field-grouped metrics  \n✅ Overall quality score\n\n---\n\n# 📖 User Guide\n\n## 🔧 Extensibility\n\nDingo uses a clean plugin architecture for domain-specific customization:\n\n### Custom Rule Registration\n\n```python\nfrom dingo.model import Model\nfrom dingo.model.rule.base import BaseRule\nfrom dingo.io import Data\nfrom dingo.io.output.eval_detail import EvalDetail\n\n@Model.rule_register('QUALITY_BAD_CUSTOM', ['default'])\nclass DomainSpecificRule(BaseRule):\n    \"\"\"Check domain-specific patterns\"\"\"\n\n    @classmethod\n    def eval(cls, input_data: Data) -> EvalDetail:\n        text = input_data.content\n\n        # Your custom logic\n        is_valid = your_validation_logic(text)\n\n        return EvalDetail(\n            metric=cls.__name__,\n            status=not is_valid,  # False = good, True = bad\n            label=['QUALITY_GOOD' if is_valid else 'QUALITY_BAD_CUSTOM'],\n            reason=[\"Validation details...\"]\n        )\n```\n\n### Custom LLM\u002FPrompt Registration\n\n```python\nfrom dingo.model import Model\nfrom dingo.model.llm.base_openai import BaseOpenAI\n\n@Model.llm_register('custom_evaluator')\nclass CustomEvaluator(BaseOpenAI):\n    \"\"\"Custom LLM evaluator with specialized prompts\"\"\"\n\n    _metric_info = {\n        \"metric_name\": \"CustomEvaluator\",\n        \"metric_type\": \"LLM-Based Quality\",\n        \"category\": \"Custom Category\"\n    }\n\n    prompt = \"\"\"Your custom prompt here...\"\"\"\n```\n\n**Examples:**\n- [Custom Rules](examples\u002Fregister\u002Fsdk_register_rule.py)\n- [Custom Models](examples\u002Fregister\u002Fsdk_register_llm.py)\n\n### Agent-Based Evaluation with Tools\n\nDingo supports agent-based evaluators that can use external tools for multi-step reasoning and adaptive context gathering. Two implementation patterns are available:\n\n**Pattern 1: LangChain-Based** (e.g., `AgentFactCheck`)\n- Framework-driven with autonomous multi-step reasoning\n- Uses LangChain 1.0's `create_agent` with ReAct pattern\n- Best for: Complex reasoning tasks, rapid prototyping\n- Less code, more declarative\n\n**Pattern 2: Custom Workflow** (e.g., `AgentHallucination`)\n- Developer-driven with explicit workflow control\n- Manual tool calls and LLM interactions\n- Best for: Composing existing evaluators, domain-specific workflows\n- Full control, explicit behavior\n\nBoth patterns share the same configuration interface and are transparent to users.\n\n**Built-in Agents:**\n- `AgentFactCheck`: LangChain-based fact-checking with autonomous search control\n- `AgentHallucination`: Custom workflow hallucination detection with adaptive context gathering\n- `ArticleFactChecker`: Two-phase article fact-checking — extracts verifiable claims then verifies each in parallel using web search and Arxiv, with configurable concurrency control\n\n**Quick Example:**\n\n```python\nfrom dingo.io import Data\nfrom dingo.io.output.eval_detail import EvalDetail\nfrom dingo.model import Model\nfrom dingo.model.llm.agent.base_agent import BaseAgent\n\n@Model.llm_register('MyAgent')\nclass MyAgent(BaseAgent):\n    \"\"\"Custom agent with tool support\"\"\"\n\n    available_tools = [\"tavily_search\", \"my_custom_tool\"]\n    max_iterations = 5\n\n    @classmethod\n    def eval(cls, input_data: Data) -> EvalDetail:\n        # Use tools for fact-checking\n        search_result = cls.execute_tool('tavily_search', query=input_data.content)\n\n        # Multi-step reasoning with LLM\n        result = cls.send_messages([...])\n\n        return EvalDetail(...)\n```\n\nFor detailed guidance on choosing and implementing agent patterns, see [Agent Development Guide](docs\u002Fagent_development_guide.md).\n\n**Configuration Example:**\n```json\n{\n  \"evaluator\": [{\n    \"evals\": [{\n      \"name\": \"AgentHallucination\",\n      \"config\": {\n        \"key\": \"openai-api-key\",\n        \"model\": \"gpt-4\",\n        \"parameters\": {\n          \"agent_config\": {\n            \"max_iterations\": 5,\n            \"tools\": {\n              \"tavily_search\": {\"api_key\": \"tavily-key\"}\n            }\n          }\n        }\n      }\n    }]\n  }]\n}\n```\n\n**Learn More:**\n- [Agent Development Guide](docs\u002Fagent_development_guide.md) - Comprehensive guide for creating custom agents and tools\n- [AgentHallucination Example](examples\u002Fagent\u002Fagent_hallucination_example.py) - Production agent example\n- [AgentFactCheck Example](examples\u002Fagent\u002Fagent_executor_example.py) - LangChain agent example\n- [ArticleFactChecker Example](examples\u002Fagent\u002Fagent_article_fact_checking_example.py) - Article-scale two-phase fact verification\n\n## ⚙️ Execution Modes\n\n### Local Executor (Development & Small-Scale)\n\n```python\nfrom dingo.config import InputArgs\nfrom dingo.exec import Executor\n\ninput_args = InputArgs(**input_data)\nexecutor = Executor.exec_map[\"local\"](input_args)\nresult = executor.execute()\n\n# Access results\nsummary = executor.get_summary()           # Overall metrics\nbad_data = executor.get_bad_info_list()    # Quality issues\ngood_data = executor.get_good_info_list()  # High-quality data\n```\n\n**Best For**: Rapid iteration, debugging, datasets \u003C 100K rows\n\n### Spark Executor (Production & Large-Scale)\n\n```python\nfrom pyspark.sql import SparkSession\nfrom dingo.exec import Executor\n\nspark = SparkSession.builder.appName(\"Dingo\").getOrCreate()\nspark_rdd = spark.sparkContext.parallelize(your_data)\n\nexecutor = Executor.exec_map[\"spark\"](\n    input_args,\n    spark_session=spark,\n    spark_rdd=spark_rdd\n)\nresult = executor.execute()\n```\n\n**Best For**: Production pipelines, distributed processing, datasets > 1M rows\n\n## Evaluation Reports\n\nAfter evaluation, Dingo generates:\n\n1. **Summary Report** (`summary.json`): Overall metrics and scores\n2. **Detailed Reports**: Specific issues for each rule violation\n\nReport Description:\n1. **score**: `num_good` \u002F `total`\n2. **type_ratio**: The count of type \u002F total, such as: `QUALITY_BAD_COMPLETENESS` \u002F `total`\n\nExample summary:\n```json\n{\n    \"task_id\": \"d6c922ec-981c-11ef-b723-7c10c9512fac\",\n    \"task_name\": \"dingo\",\n    \"eval_group\": \"default\",\n    \"input_path\": \"test\u002Fdata\u002Ftest_local_jsonl.jsonl\",\n    \"output_path\": \"outputs\u002Fd6c921ac-981c-11ef-b723-7c10c9512fac\",\n    \"create_time\": \"20241101_144510\",\n    \"score\": 50.0,\n    \"num_good\": 1,\n    \"num_bad\": 1,\n    \"total\": 2,\n    \"type_ratio\": {\n        \"content\": {\n            \"QUALITY_BAD_COMPLETENESS.RuleColonEnd\": 0.5,\n            \"QUALITY_BAD_RELEVANCE.RuleSpecialCharacter\": 0.5\n        }\n    }\n}\n```\n\n# 🚀 Roadmap & Contributions\n\n## Future Plans\n\n- [ ] **Agent-as-a-Judge** - Multi-agent debate patterns for bias reduction and complex reasoning\n- [ ] **SaaS Platform** - Hosted evaluation service with API access and dashboard\n- [ ] **Audio & Video Modalities** - Extend beyond text\u002Fimage\n- [ ] **Diversity Metrics** - Statistical diversity assessment\n- [ ] **Real-time Monitoring** - Continuous quality checks in production pipelines\n\n## Limitations\n\nThe current built-in detection rules and model methods primarily focus on common data quality issues. For special evaluation needs, we recommend customizing detection rules.\n\n# Acknowledgments\n\n- [RedPajama-Data](https:\u002F\u002Fgithub.com\u002Ftogethercomputer\u002FRedPajama-Data)\n- [mlflow](https:\u002F\u002Fgithub.com\u002Fmlflow\u002Fmlflow)\n- [deepeval](https:\u002F\u002Fgithub.com\u002Fconfident-ai\u002Fdeepeval)\n- [ragas](https:\u002F\u002Fgithub.com\u002Fexplodinggradients\u002Fragas)\n\n# Contribution\n\nWe appreciate all the contributors for their efforts to improve and enhance `Dingo`. Please refer to the [Contribution Guide](docs\u002Fen\u002FCONTRIBUTING.md) for guidance on contributing to the project.\n\n# License\n\nThis project uses the [Apache 2.0 Open Source License](LICENSE).\n\nThis project uses fasttext for some functionality including language detection. fasttext is licensed under the MIT License, which is compatible with our Apache 2.0 license and provides flexibility for various usage scenarios.\n\n# Citation\n\nIf you find this project useful, please consider citing our tool:\n\n```\n@misc{dingo,\n  title={Dingo: A Comprehensive AI Data Quality Evaluation Tool for Large Models},\n  author={Dingo Contributors},\n  howpublished={\\url{https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo}},\n  year={2024}\n}\n```\n","\u003C!-- SEO 元信息和结构化数据 -->\n\u003Cdiv itemscope itemtype=\"https:\u002F\u002Fschema.org\u002FSoftwareApplication\" align=\"center\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F1999\u002Fhtml\">\n  \u003Cmeta itemprop=\"name\" content=\"Dingo：全面的AI数据质量评估工具\">\n  \u003Cmeta itemprop=\"description\" content=\"面向机器学习数据集、大模型训练数据验证、幻觉检测以及RAG系统评估的全方位AI驱动数据质量评估平台\">\n  \u003Cmeta itemprop=\"applicationCategory\" content=\"数据质量软件\">\n  \u003Cmeta itemprop=\"operatingSystem\" content=\"跨平台\">\n  \u003Cmeta itemprop=\"programmingLanguage\" content=\"Python\">\n  \u003Cmeta itemprop=\"url\" content=\"https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\">\n  \u003Cmeta itemprop=\"downloadUrl\" content=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Fdingo-python\u002F\">\n  \u003Cmeta itemprop=\"softwareVersion\" content=\"latest\">\n  \u003Cmeta itemprop=\"license\" content=\"Apache-2.0\">\n\n\u003C!-- logo -->\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMigoXLab_dingo_readme_cb6f5eacda4b.png\" width=\"300px\" style=\"vertical-align:middle;\" alt=\"Dingo AI数据质量评估工具Logo\">\n\u003C\u002Fp>\n\n\u003C!-- badges -->\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpre-commit\u002Fpre-commit\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white\" alt=\"pre-commit\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Fdingo-python\u002F\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fdingo-python.svg\" alt=\"PyPI版本\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Fdingo-python\u002F\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Fdingo-python.svg\" alt=\"Python版本\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fblob\u002Fmain\u002FLICENSE\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002FDataEval\u002Fdingo\" alt=\"许可证\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fstargazers\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FDataEval\u002Fdingo\" alt=\"GitHub星标\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fnetwork\u002Fmembers\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fforks\u002FDataEval\u002Fdingo\" alt=\"GitHub分支\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fissues\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002FDataEval\u002Fdingo\" alt=\"GitHub问题\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fmseep.ai\u002Fapp\u002Fdataeval-dingo\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMigoXLab_dingo_readme_27fe7764be95.png\" alt=\"MseeP.ai安全评估徽章\" height=\"20\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fdeepwiki.com\u002FMigoXLab\u002Fdingo\">\u003Cimg src=\"https:\u002F\u002Fdeepwiki.com\u002Fbadge.svg\" alt=\"Ask DeepWiki\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Farchestra.ai\u002Fmcp-catalog\u002Fdataeval__dingo\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMigoXLab_dingo_readme_5dfccc754b71.png\" alt=\"信任评分\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fclawhub.ai\u002Fe06084\u002Fdingo\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FClawHub-Skill-orange?logo=data:image\u002Fsvg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHRleHQgeT0iMTgiIGZvbnQtc2l6ZT0iMTYiPvCfpp48L3RleHQ+PC9zdmc+\" alt=\"ClawHub技能\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003C\u002Fdiv>\n\n\n\u003Cdiv align=\"center\">\n\n[English](README.md) · [简体中文](README_zh-CN.md) · [日本語](README_ja.md)\n\n\u003C\u002Fdiv>\n\n\n\u003C!-- 加入我们 -->\n\n\u003Cp align=\"center\">\n    👋 欢迎加入我们的\u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FJhgb2eKWh8\" target=\"_blank\">Discord\u003C\u002Fa>和\u003Ca href=\".\u002Fdocs\u002Fassets\u002Fwechat.jpg\" target=\"_blank\">微信\u003C\u002Fa>\n\u003C\u002Fp>\n\n\n\u003Cp align=\"center\">\n  如果你喜欢Dingo，请在GitHub上给我们点个赞吧！\n  \u003Cbr\u002F>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fstargazers\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMigoXLab_dingo_readme_499122819770.gif\" alt=\"点击星星\" width=\"480\">\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\n# 简介\n\n**Dingo是一款全面的AI数据、模型及应用质量评估工具**，专为机器学习从业者、数据工程师和AI研究人员设计。它可以帮助您系统地评估和提升训练数据、微调数据集以及生产环境中的AI系统的质量。\n\n---\n\n## 🚀 企业级Dingo SaaS版本\n\n需要一个**生产级别的数据质量平台**吗？试试[Dingo SaaS](https:\u002F\u002Fdingo.openxlab.org.cn)企业版吧！\n\n### ✨ 相较于开源版本，SaaS提供了：\n\n- 🌐 **Web UI** - 可视化评估界面，无需编码\n- 🔐 **访问控制** - JWT + Google OAuth 2.0\n- 📊 **可视化报告** - 交互式图表、趋势分析、导出功能\n- 🔌 **RESTful API** - 与现有系统无缝集成\n\n### 📝 如何获取免费的SaaS代码\n\n👉 **[申请Dingo SaaS仓库访问权限](https:\u002F\u002Faicarrier.feishu.cn\u002Fshare\u002Fbase\u002Fform\u002Fshrcnr19E0upfiA92Wm5i2eic7g)** \n\n审核时间：1–5个工作日 | 适用于企业数据治理、团队协作场景\n\n---\n\n## 为什么选择Dingo？\n\n🎯 **生产级质量检查** - 从预训练数据集到RAG系统，确保您的AI获得高质量的数据\n\n🗄️ **多源数据集成** - 无缝对接本地文件、SQL数据库（PostgreSQL\u002FMySQL\u002FSQLite）、HuggingFace数据集以及S3存储\n\n🔍 **多字段评估** - 可以并行对不同字段应用不同的质量规则（例如，对`isbn`进行ISBN校验，对`title`进行文本质量评估）\n\n🤖 **RAG系统评估** - 基于5项学术支持指标，全面评估检索与生成质量\n\n🧠 **LLM、规则与Agent混合模式** - 结合快速启发式规则（内置30余种）与基于大模型的深度评估\n\n🚀 **灵活执行方式** - 可在本地快速迭代，也可借助Spark扩展至十亿级数据集规模\n\n📊 **丰富的报告功能** - 提供详细的质量报告，配有GUI可视化界面和字段级洞察\n\n## 架构图\n\n![Dingo架构图](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMigoXLab_dingo_readme_eab230f8536f.png)\n\n# 快速入门\n\n## 安装\n\n```shell\n# 核心包（包含规则评估、大模型评估、MCP服务器、数据源支持）\npip install dingo-python\n\n# 配备HHEM幻觉检测模型（需安装transformers和torch）\npip install \"dingo-python[hhem]\"\n\n# 包含所有功能（HHEM + Agent）\npip install \"dingo-python[all]\"\n```\n\n## Dingo示例用例\n\n### 1. 评估大模型聊天数据\n\n```python\nfrom dingo.config.input_args import EvaluatorLLMArgs\nfrom dingo.io.input import Data\nfrom dingo.model.llm.text_quality.llm_text_quality_v4 import LLMTextQualityV4\nfrom dingo.model.rule.rule_common import RuleSpecialCharacter\n\ndata = Data(\n    data_id='123',\n    prompt=\"你好，请介绍一下这个世界\",\n    content=\"我今年8岁。^我喜欢苹果是因为：\"\n)\n\n\ndef llm():\n    LLMTextQualityV4.dynamic_config = EvaluatorLLMArgs(\n        key='YOUR_API_KEY',\n        api_url='https:\u002F\u002Fapi.openai.com\u002Fv1\u002Fchat\u002Fcompletions',\n        model='gpt-4o',\n    )\n    res = LLMTextQualityV4.eval(data)\n    print(res)\n\ndef rule():\n    res = RuleSpecialCharacter().eval(data)\n    print(res)\n\nrule()\n```\n\n### 2. 评估数据集\n\n```python\nfrom dingo.config import InputArgs\nfrom dingo.exec import Executor\n\n# 从 Hugging Face 评估数据集\nif __name__ == '__main__':\n    input_data = {\n        \"input_path\": \"tatsu-lab\u002Falpaca\",  # 来自 Hugging Face 的数据集\n        \"dataset\": {\n            \"source\": \"hugging_face\",\n            \"format\": \"plaintext\"  # 格式：纯文本\n        },\n        \"executor\": {\n            \"result_save\": {\n                \"bad\": True  # 保存评估结果\n            }\n        },\n        \"evaluator\": [\n            {\n                \"evals\": [\n                    {\"name\": \"RuleColonEnd\"},\n                    {\"name\": \"RuleSpecialCharacter\"}\n                ]\n            }\n        ]\n    }\n\n    input_args = InputArgs(**input_data)\n    executor = Executor.exec_map[\"local\"](input_args)\n    result = executor.execute()\n    print(result)\n```\n\n## 命令行界面\n\n### 使用规则集进行评估\n\n```shell\ndingo eval --input .github\u002Fenv\u002Flocal_plaintext.json\n```\n\n### 使用 LLM（例如 GPT-4o）进行评估\n\n```shell\ndingo eval --input .github\u002Fenv\u002Flocal_json.json\n```\n\n---\n\n# MCP 服务器\n\nDingo 内置了一个用于 AI 代理集成的模型上下文协议（MCP）服务器：\n\n```bash\n# 启动 MCP 服务器（SSE 传输，默认端口 8000）\ndingo serve\n\n# 自定义端口\ndingo serve --port 9000\n\n# stdio 传输（适用于 Claude Desktop）\ndingo serve --transport stdio\n```\n\n有关详细设置以及与 Cursor 和 Claude Desktop 的集成，请参阅专用文档：\n\n[英文](README_mcp.md) · [简体中文](README_mcp_zh-CN.md) · [日语](README_mcp_ja.md)\n\n## 视频演示\n\n为了帮助您快速上手 Dingo MCP，我们制作了一段视频教程：\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Faca26f4c-3f2e-445e-9ef9-9331c4d7a37b\n\n该视频逐步演示了如何将 Dingo MCP 服务器与 Cursor 配合使用。\n\n---\n\n# 📚 数据质量指标\n\nDingo 提供**100 多种评估指标**，涵盖多个维度，兼具基于规则的速度和基于 LLM 的深度。\n\n## 指标分类\n\n| 分类 | 示例 | 使用场景 |\n|----------|----------|----------|\n| **预训练文本质量** | 完整性、有效性、相似性、安全性 | LLM 预训练数据过滤 |\n| **SFT 数据质量** | 真诚、有用、无害 (3H) | 指令微调数据 |\n| **RAG 评估** | 忠实性、上下文精确度、答案相关性 | RAG 系统评估 |\n| **幻觉检测** | HHEM-2.1-Open、事实核查 | 生产环境 AI 可靠性 |\n| **分类** | 主题分类、内容标签 | 数据整理 |\n| **多模态** | 图像-文本相关性、VLM 质量、OCR 视觉评估 | 视觉-语言数据 |\n| **安全** | PII 检测、Perspective API 毒性 | 隐私与安全 |\n\n📊 **[查看完整指标文档 →](docs\u002Fmetrics.md)**  \n📖 **[RAG 评估指南 →](docs\u002Frag_evaluation_metrics.md)** | **[中文版](docs\u002Frag_evaluation_metrics_zh.md)**  \n🔍 **[幻觉检测指南 →](docs\u002Fhallucination_detection_guide.md)** | **[中文版](docs\u002Fhallucination_guide.md)**  \n✅ **[事实核查指南 →](docs\u002Ffactuality_assessment_guide.md)** | **[中文版](docs\u002Ffactcheck_guide.md)**  \n👁️ **[VLM 渲染评估指南 →](docs\u002Fen\u002Fvlm_render_judge_guide.md)** | **[中文版](docs\u002Fvlm_render_judge_guide.md)**\n\n大多数指标均以学术研究为支撑，确保科学严谨性。\n\n## 快速使用指标\n\n```python\nllm_config = {\n    \"model\": \"gpt-4o\",\n    \"key\": \"YOUR_API_KEY\",\n    \"api_url\": \"https:\u002F\u002Fapi.openai.com\u002Fv1\u002Fchat\u002Fcompletions\"\n}\n\ninput_data = {\n    \"evaluator\": [\n        {\n            \"fields\": {\"content\": \"content\"},\n            \"evals\": [\n                {\"name\": \"RuleAbnormalChar\"},           # 基于规则（快速）\n                {\"name\": \"LLMTextQualityV5\", \"config\": llm_config}  # 基于 LLM（深入）\n            ]\n        }\n    ]\n}\n```\n\n**自定义**：所有提示词都定义在 `dingo\u002Fmodel\u002Fllm\u002F` 目录中（按类别组织：`text_quality\u002F`、`rag\u002F`、`hhh\u002F` 等）。您可以根据特定领域的需求扩展或修改它们。\n\n\n---\n\n# 🎓 实践者关键概念\n\n## 什么使 Dingo 具备生产级能力？\n\n### 1. **多字段评估流水线**\n在一次运行中对不同字段应用不同的质量检查：\n```python\n\"evaluator\": [\n    {\"fields\": {\"content\": \"isbn\"}, \"evals\": [{\"name\": \"RuleIsbn\"}]},\n    {\"fields\": {\"content\": \"title\"}, \"evals\": [{\"name\": \"RuleAbnormalChar\"}]},\n    {\"fields\": {\"content\": \"description\"}, \"evals\": [{\"name\": \"LLMTextQualityV5\"}]}\n]\n```\n**为什么重要**：无需为每个字段单独编写脚本，即可评估结构化数据（如数据库表）。\n\n### 2. **大型数据集的流式处理**\nSQL 数据源使用 SQLAlchemy 的服务器端游标：\n```python\n# 处理数十亿行数据而不会出现内存溢出\nfor data in dataset.get_data():  # 每次生成一行数据\n    result = evaluator.eval(data)\n```\n**为什么重要**：无需导出到中间文件即可处理生产数据库。\n\n### 3. **内存中的字段隔离**\nRAG 评估可防止不同字段组合之间的上下文泄漏：\n```\noutputs\u002F\n├── user_input,response,retrieved_contexts\u002F  # 忠实性组\n└── user_input,response\u002F                     # 答案相关性组\n```\n**为什么重要**：在评估多个字段组合时，能够准确计算指标。\n\n### 4. **规则与 LLM 混合策略**\n将快速规则（100% 覆盖）与抽样 LLM 检查（10% 覆盖）相结合：\n```python\n\"evals\": [\n    {\"name\": \"RuleAbnormalChar\"},        # 快速，对所有数据运行\n    {\"name\": \"LLMTextQualityV5\"}         # 昂贵，必要时抽样\n]\n```\n**为什么重要**：在生产规模的评估中，平衡成本与覆盖范围。\n\n### 5. **通过注册实现可扩展性**\n干净的插件架构，可用于自定义规则、提示词和模型：\n```python\n@Model.rule_register('QUALITY_BAD_CUSTOM', ['default'])\nclass MyCustomRule(BaseRule):\n    @classmethod\n    def eval(cls, input_data: Data) -> EvalDetail:\n        # 示例：检查内容是否为空\n        if not input_data.content:\n            return EvalDetail(\n                metric=cls.__name__,\n                status=True,  # 发现问题\n                label=[f'{cls.metric_type}.{cls.__name__}'],\n                reason=[\"内容为空\"]\n            )\n        return EvalDetail(\n            metric=cls.__name__,\n            status=False,  # 未发现问题\n            label=['QUALITY_GOOD']\n        )\n```\n**为什么重要**：无需分叉代码库即可适应特定领域的需要。\n\n---\n\n# 🌟 功能亮点\n\n## 📊 多源数据集成\n\n**多样化的数据来源** - 连接到您的数据所在的位置  \n✅ **本地文件**: JSONL、CSV、TXT、Parquet  \n✅ **SQL数据库**: PostgreSQL、MySQL、SQLite、Oracle、SQL Server（支持流式处理）  \n✅ **云存储**: S3 及兼容 S3 的存储  \n✅ **机器学习平台**: 直接集成 HuggingFace 数据集\n\n**企业级 SQL 支持** - 生产环境数据库集成  \n✅ 面向十亿级数据集的内存高效流式处理  \n✅ 连接池与自动资源清理  \n✅ 复杂的 SQL 查询（JOIN、WHERE、聚合）  \n✅ 支持多种 SQL 方言，兼容 SQLAlchemy\n\n**多字段质量检查** - 不同字段采用不同规则  \n✅ 并行评估管道（例如，ISBN 校验与文本质量同时进行）  \n✅ 字段别名及嵌套字段提取（`user.profile.name`）  \n✅ 每个字段独立的结果报告  \n✅ 基于 ETL 流程的架构，实现灵活的数据转换\n\n---\n\n## 🤖 RAG 系统评估\n\n**5 项学术支持的指标** - 基于 RAGAS、DeepEval、TruLens 的研究  \n✅ **忠实性**: 答案与上下文的一致性（幻觉检测）  \n✅ **答案相关性**: 答案与查询的匹配度  \n✅ **上下文精确度**: 检索的精确度  \n✅ **上下文召回率**: 检索的召回率  \n✅ **上下文相关性**: 上下文与查询的相关性\n\n**全面的报告** - 自动汇总统计  \n✅ 各项指标的平均值、最小值、最大值及标准差  \n✅ 按字段分组的结果  \n✅ 批量与单次评估模式\n\n📖 **[查看 RAG 评估指南 →](docs\u002Frag_evaluation_metrics_zh.md)**\n\n---\n\n## 🧠 混合评估系统\n\n**基于规则的评估** - 快速、确定性、经济高效  \n✅ 30+ 内置规则（文本质量、格式、PII 检测）  \n✅ 正则表达式、启发式方法、统计检验  \n✅ 自定义规则注册\n\n**基于 LLM 的评估** - 深度语义理解  \n✅ OpenAI（GPT-4o、GPT-3.5）、DeepSeek、Kimi  \n✅ 本地模型（Llama3、Qwen）  \n✅ 视觉-语言模型（InternVL、Gemini）  \n✅ 自定义提示词注册\n\n**基于代理的评估** - 多步推理结合工具  \n✅ 集成网络搜索（Tavily）  \n✅ 自适应上下文收集  \n✅ 多源事实核查  \n✅ 自定义代理与工具注册\n\n**可扩展的架构**  \n✅ 基于插件的规则\u002F提示词\u002F模型注册  \n✅ 清晰的关注点分离（代理、工具、编排）  \n✅ 针对特定领域的定制化\n\n---\n\n## 🚀 灵活的执行与集成\n\n**多种接口**  \n✅ CLI 用于快速检查  \n✅ Python SDK 用于集成  \n✅ MCP（模型上下文协议）服务器，适用于 IDE（Cursor 等）\n\n**可扩展的执行**  \n✅ 本地执行器，适合快速迭代  \n✅ Spark 执行器，用于分布式处理  \n✅ 可配置的并发与批处理\n\n**数据来源**  \n✅ **本地文件**: 支持 JSONL、CSV、TXT、Parquet 格式  \n✅ **Hugging Face**: 直接集成 HF 数据集中心  \n✅ **S3 存储**: AWS S3 及兼容 S3 的存储  \n✅ **SQL 数据库**: PostgreSQL、MySQL、SQLite、Oracle、SQL Server（支持大规模数据的流式处理）\n\n**模态支持**  \n✅ 文本（聊天、文档、代码）  \n✅ 图像（支持 VLM）  \n✅ 多模态（文本与图像一致性）\n\n---\n\n## 📈 丰富的报告与可视化\n\n**多层次报告**  \n✅ 包含总体评分的摘要 JSON  \n✅ 按字段细分  \n✅ 每条规则的违规详情  \n✅ 类型与名称分布\n\n**GUI 可视化（通过 [Dingo SaaS](https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo-saas)）**  \n✅ 带有交互式数据探索功能的 Web UI  \n✅ 包含趋势分析的可视化报告  \n✅ 异常情况追踪\n\n**指标聚合**  \n✅ 自动统计（平均值、最小值、最大值、标准差）  \n✅ 按字段分组的指标  \n✅ 总体质量得分\n\n---\n\n# 📖 用户指南\n\n## 🔧 可扩展性\n\nDingo 采用清晰的插件架构，便于针对特定领域进行定制：\n\n### 自定义规则注册\n\n```python\nfrom dingo.model import Model\nfrom dingo.model.rule.base import BaseRule\nfrom dingo.io import Data\nfrom dingo.io.output.eval_detail import EvalDetail\n\n@Model.rule_register('QUALITY_BAD_CUSTOM', ['default'])\nclass DomainSpecificRule(BaseRule):\n    \"\"\"检查领域特定的模式\"\"\"\n\n    @classmethod\n    def eval(cls, input_data: Data) -> EvalDetail:\n        text = input_data.content\n\n        # 您的自定义逻辑\n        is_valid = your_validation_logic(text)\n\n        return EvalDetail(\n            metric=cls.__name__,\n            status=not is_valid,  # False = 良好，True = 不良\n            label=['QUALITY_GOOD' if is_valid else 'QUALITY_BAD_CUSTOM'],\n            reason=[\"验证细节...\"]\n        )\n```\n\n### 自定义 LLM\u002F提示词注册\n\n```python\nfrom dingo.model import Model\nfrom dingo.model.llm.base_openai import BaseOpenAI\n\n@Model.llm_register('custom_evaluator')\nclass CustomEvaluator(BaseOpenAI):\n    \"\"\"具有专用提示词的自定义 LLM 评估器\"\"\"\n\n    _metric_info = {\n        \"metric_name\": \"CustomEvaluator\",\n        \"metric_type\": \"基于 LLM 的质量\",\n        \"category\": \"自定义类别\"\n    }\n\n    prompt = \"\"\"您自定义的提示词在此...\"\"\"\n```\n\n**示例:**  \n- [自定义规则](examples\u002Fregister\u002Fsdk_register_rule.py)  \n- [自定义模型](examples\u002Fregister\u002Fsdk_register_llm.py)\n\n### 基于智能体的评估与工具支持\n\nDingo 支持基于智能体的评估器，这些评估器可以使用外部工具进行多步推理和自适应上下文收集。目前有两种实现模式可供选择：\n\n**模式 1：基于 LangChain**（例如 `AgentFactCheck`）\n- 框架驱动，具备自主多步推理能力\n- 使用 LangChain 1.0 的 `create_agent` 方法，并采用 ReAct 模式\n- 适用于：复杂推理任务、快速原型开发\n- 代码量少，声明式风格更清晰\n\n**模式 2：自定义工作流**（例如 `AgentHallucination`）\n- 开发者驱动，可明确控制工作流程\n- 手动调用工具并与大模型交互\n- 适用于：组合现有评估器、领域特定的工作流\n- 完全可控，行为明确\n\n两种模式共享相同的配置接口，对用户透明。\n\n**内置智能体：**\n- `AgentFactCheck`：基于 LangChain 的事实核查，具备自主搜索控制能力\n- `AgentHallucination`：自定义工作流的幻觉检测，支持自适应上下文收集\n- `ArticleFactChecker`：两阶段文章事实核查——先提取可验证的陈述，再利用网络搜索和 Arxiv 并行逐一验证，同时提供可配置的并发控制\n\n**快速示例：**\n\n```python\nfrom dingo.io import Data\nfrom dingo.io.output.eval_detail import EvalDetail\nfrom dingo.model import Model\nfrom dingo.model.llm.agent.base_agent import BaseAgent\n\n@Model.llm_register('MyAgent')\nclass MyAgent(BaseAgent):\n    \"\"\"支持工具的自定义智能体\"\"\"\n\n    available_tools = [\"tavily_search\", \"my_custom_tool\"]\n    max_iterations = 5\n\n    @classmethod\n    def eval(cls, input_data: Data) -> EvalDetail:\n        # 使用工具进行事实核查\n        search_result = cls.execute_tool('tavily_search', query=input_data.content)\n\n        # 结合大模型进行多步推理\n        result = cls.send_messages([...])\n\n        return EvalDetail(...)\n```\n\n有关选择和实现智能体模式的详细指南，请参阅 [智能体开发指南](docs\u002Fagent_development_guide.md)。\n\n**配置示例：**\n```json\n{\n  \"evaluator\": [{\n    \"evals\": [{\n      \"name\": \"AgentHallucination\",\n      \"config\": {\n        \"key\": \"openai-api-key\",\n        \"model\": \"gpt-4\",\n        \"parameters\": {\n          \"agent_config\": {\n            \"max_iterations\": 5,\n            \"tools\": {\n              \"tavily_search\": {\"api_key\": \"tavily-key\"}\n            }\n          }\n        }\n      }\n    }]\n  }]\n}\n```\n\n**了解更多：**\n- [智能体开发指南](docs\u002Fagent_development_guide.md) —— 创建自定义智能体和工具的全面指南\n- [AgentHallucination 示例](examples\u002Fagent\u002Fagent_hallucination_example.py) —— 生产级智能体示例\n- [AgentFactCheck 示例](examples\u002Fagent\u002Fagent_executor_example.py) —— LangChain 智能体示例\n- [ArticleFactChecker 示例](examples\u002Fagent\u002Fagent_article_fact_checking_example.py) —— 文章规模的两阶段事实核查示例\n\n## ⚙️ 执行模式\n\n### 本地执行器（开发与小规模场景）\n\n```python\nfrom dingo.config import InputArgs\nfrom dingo.exec import Executor\n\ninput_args = InputArgs(**input_data)\nexecutor = Executor.exec_map[\"local\"](input_args)\nresult = executor.execute()\n\n# 访问结果\nsummary = executor.get_summary()           \u002F\u002F 总体指标\nbad_data = executor.get_bad_info_list()    \u002F\u002F 质量问题\ngood_data = executor.get_good_info_list()  \u002F\u002F 高质量数据\n```\n\n**适用场景**：快速迭代、调试、数据集小于 10 万行\n\n### Spark 执行器（生产与大规模场景）\n\n```python\nfrom pyspark.sql import SparkSession\nfrom dingo.exec import Executor\n\nspark = SparkSession.builder.appName(\"Dingo\").getOrCreate()\nspark_rdd = spark.sparkContext.parallelize(your_data)\n\nexecutor = Executor.exec_map[\"spark\"](\n    input_args,\n    spark_session=spark,\n    spark_rdd=spark_rdd\n)\nresult = executor.execute()\n```\n\n**适用场景**：生产流水线、分布式处理、数据集超过 100 万行\n\n## 评估报告\n\n评估完成后，Dingo 会生成：\n\n1. **汇总报告**（`summary.json`）：总体指标和分数\n2. **详细报告**：针对每条规则违反的具体问题\n\n报告说明：\n1. **score**：`num_good` \u002F `total`\n2. **type_ratio**：各类别数量占总数的比例，例如：`QUALITY_BAD_COMPLETENESS` \u002F `total`\n\n汇总报告示例：\n```json\n{\n    \"task_id\": \"d6c922ec-981c-11ef-b723-7c10c9512fac\",\n    \"task_name\": \"dingo\",\n    \"eval_group\": \"default\",\n    \"input_path\": \"test\u002Fdata\u002Ftest_local_jsonl.jsonl\",\n    \"output_path\": \"outputs\u002Fd6c921ac-981c-11ef-b723-7c10c9512fac\",\n    \"create_time\": \"20241101_144510\",\n    \"score\": 50.0,\n    \"num_good\": 1,\n    \"num_bad\": 1,\n    \"total\": 2,\n    \"type_ratio\": {\n        \"content\": {\n            \"QUALITY_BAD_COMPLETENESS.RuleColonEnd\": 0.5,\n            \"QUALITY_BAD_RELEVANCE.RuleSpecialCharacter\": 0.5\n        }\n    }\n}\n```\n\n# 🚀 路线图与贡献\n\n## 未来计划\n\n- [ ] **智能体作为评判者** —— 多智能体辩论模式，用于减少偏见和处理复杂推理\n- [ ] **SaaS 平台** —— 提供托管式评估服务，配备 API 接口和仪表盘\n- [ ] **音频与视频模态** —— 扩展至文本和图像之外\n- [ ] **多样性指标** —— 统计学意义上的多样性评估\n- [ ] **实时监控** —— 在生产流水线上进行持续的质量检查\n\n## 局限性\n\n当前内置的检测规则和模型方法主要聚焦于常见的数据质量问题。对于特殊的评估需求，建议自定义检测规则。\n\n# 致谢\n\n- [RedPajama-Data](https:\u002F\u002Fgithub.com\u002Ftogethercomputer\u002FRedPajama-Data)\n- [mlflow](https:\u002F\u002Fgithub.com\u002Fmlflow\u002Fmlflow)\n- [deepeval](https:\u002F\u002Fgithub.com\u002Fconfident-ai\u002Fdeepeval)\n- [ragas](https:\u002F\u002Fgithub.com\u002Fexplodinggradients\u002Fragas)\n\n# 贡献\n\n我们感谢所有为改进和增强 `Dingo` 贡献力量的开发者。有关如何参与项目贡献的指导，请参阅 [贡献指南](docs\u002Fen\u002FCONTRIBUTING.md)。\n\n# 许可证\n\n本项目采用 [Apache 2.0 开源许可证](LICENSE)。\n\n本项目在部分功能中使用了 fasttext，包括语言检测。fasttext 采用 MIT 许可证，该许可证与我们的 Apache 2.0 许可证兼容，为各种使用场景提供了灵活性。\n\n# 引用\n\n如果您觉得本项目有用，请考虑引用我们的工具：\n\n```\n@misc{dingo,\n  title={Dingo：面向大型模型的综合 AI 数据质量评估工具},\n  author={Dingo 开发者},\n  howpublished={\\url{https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo}},\n  year={2024}\n}\n```","# Dingo 快速上手指南\n\nDingo 是一款全面的 AI 数据、模型及应用质量评估工具，专为机器学习从业者、数据工程师和 AI 研究人员设计。它支持从预训练数据过滤、SFT 指令微调数据验证到 RAG 系统评估的全流程质量管控。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**：跨平台支持 (Linux, macOS, Windows)\n*   **Python 版本**：建议 Python 3.8 及以上\n*   **前置依赖**：\n    *   `pip` 包管理工具\n    *   若需使用 LLM 评估功能，需准备有效的 API Key（如 OpenAI, Azure 等）\n    *   若需使用幻觉检测模型 (HHEM)，需确保系统有足够的内存及 GPU 资源（可选）\n\n## 安装步骤\n\n您可以通过 PyPI 直接安装 Dingo。根据您的需求选择以下任一安装方式：\n\n### 1. 安装核心包（推荐）\n包含规则评估、基础数据源支持及 MCP 服务器功能。\n```shell\npip install dingo-python\n```\n\n### 2. 安装含幻觉检测模型版本\n包含核心功能及 HHEM 幻觉检测模型（需额外安装 `transformers` 和 `torch`）。\n```shell\npip install \"dingo-python[hhem]\"\n```\n\n### 3. 安装全功能版本\n包含所有特性（HHEM + Agent 智能体功能）。\n```shell\npip install \"dingo-python[all]\"\n```\n\n> **提示**：国内用户若下载缓慢，可添加国内镜像源加速，例如：\n> `pip install dingo-python -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple`\n\n## 基本使用\n\nDingo 支持通过 Python 代码和命令行两种方式运行。以下是两个最基础的使用场景。\n\n### 场景一：评估单条 LLM 对话数据\n\n此示例演示如何结合**规则检查**（检测特殊字符）和**LLM 评估**（文本质量打分）对单条数据进行测试。\n\n```python\nfrom dingo.config.input_args import EvaluatorLLMArgs\nfrom dingo.io.input import Data\nfrom dingo.model.llm.text_quality.llm_text_quality_v4 import LLMTextQualityV4\nfrom dingo.model.rule.rule_common import RuleSpecialCharacter\n\n# 构造测试数据\ndata = Data(\n    data_id='123',\n    prompt=\"hello, introduce the world\",\n    content=\"I am 8 years old. ^I love apple because:\"\n)\n\ndef llm_eval():\n    # 配置 LLM 参数\n    LLMTextQualityV4.dynamic_config = EvaluatorLLMArgs(\n        key='YOUR_API_KEY',\n        api_url='https:\u002F\u002Fapi.openai.com\u002Fv1\u002Fchat\u002Fcompletions',\n        model='gpt-4o',\n    )\n    res = LLMTextQualityV4.eval(data)\n    print(\"LLM Evaluation Result:\", res)\n\ndef rule_eval():\n    # 执行规则检查\n    res = RuleSpecialCharacter().eval(data)\n    print(\"Rule Evaluation Result:\", res)\n\n# 运行评估\nrule_eval()\n# llm_eval() # 取消注释以运行 LLM 评估\n```\n\n### 场景二：批量评估数据集\n\n此示例演示如何从 Hugging Face 加载数据集，并并行应用多条规则进行批量评估。\n\n```python\nfrom dingo.config import InputArgs\nfrom dingo.exec import Executor\n\nif __name__ == '__main__':\n    # 配置输入参数\n    input_data = {\n        \"input_path\": \"tatsu-lab\u002Falpaca\",  # Hugging Face 数据集名称\n        \"dataset\": {\n            \"source\": \"hugging_face\",\n            \"format\": \"plaintext\"\n        },\n        \"executor\": {\n            \"result_save\": {\n                \"bad\": True  # 仅保存未通过评估的数据结果\n            }\n        },\n        \"evaluator\": [\n            {\n                \"evals\": [\n                    {\"name\": \"RuleColonEnd\"},       # 检查是否以冒号结尾\n                    {\"name\": \"RuleSpecialCharacter\"} # 检查特殊字符\n                ]\n            }\n        ]\n    }\n\n    # 初始化并执行\n    input_args = InputArgs(**input_data)\n    executor = Executor.exec_map[\"local\"](input_args)\n    result = executor.execute()\n    print(result)\n```\n\n### 场景三：命令行快速评估\n\n如果您已有本地数据文件（JSON 格式），可以直接使用 CLI 命令进行评估。\n\n**使用规则集评估：**\n```shell\ndingo eval --input .github\u002Fenv\u002Flocal_plaintext.json\n```\n\n**使用 LLM 进行评估：**\n```shell\ndingo eval --input .github\u002Fenv\u002Flocal_json.json\n```\n\n---\n*更多高级功能（如 RAG 评估指标配置、MCP Server 集成、自定义 Prompt 等）请参考官方完整文档。*","某金融科技公司的大模型团队正在构建一个基于 RAG（检索增强生成）的智能客服系统，急需对海量清洗后的训练数据和上线前的回答质量进行严格验收。\n\n### 没有 dingo 时\n- 数据质检依赖人工抽检，面对百万级语料库，不仅耗时数周，还极易遗漏带有偏见或错误的“脏数据”。\n- 模型上线后频繁出现“幻觉”问题（如编造不存在的理财条款），团队缺乏自动化工具在测试阶段提前拦截这些风险。\n- 评估标准模糊且分散，不同工程师使用各自的脚本打分，导致数据质量波动大，难以形成统一的优化闭环。\n- 当业务方投诉回答质量下降时，开发人员需要花费大量时间回溯日志，无法快速定位是数据源污染还是检索环节出错。\n\n### 使用 dingo 后\n- 利用 dingo 内置的自动化评估流水线，团队在几小时内即可完成全量数据的毒性、重复性及一致性扫描，效率提升数十倍。\n- 通过 dingo 的幻觉检测模块，系统在预发布阶段自动识别并标记了 300+ 条胡编乱造的问答对，确保高风险内容零上线。\n- 借助 dingo 提供的标准化评分体系，团队建立了统一的质量基线，每次迭代都能清晰量化数据清洗带来的具体提升幅度。\n- 遇到质量异常时，直接调用 dingo 的诊断报告，可迅速下钻到具体的问题数据片段或检索失效案例，将排查时间从几天缩短至分钟级。\n\ndingo 将原本黑盒且滞后的质量管控，转变为可视、量化且实时的自动化防御体系，显著降低了大模型应用的落地风险。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMigoXLab_dingo_cb6f5eac.png","MigoXLab","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FMigoXLab_a14133fd.jpg","",null,"https:\u002F\u002Fmigo.intern-ai.org.cn","https:\u002F\u002Fgithub.com\u002FMigoXLab",[82],{"name":83,"color":84,"percentage":85},"Python","#3572A5",100,672,68,"2026-04-02T08:08:08","Apache-2.0","Linux, macOS, Windows","非必需。仅在启用 HHEM 幻觉检测模型（需 torch + transformers）或大规模 LLM 评估时建议配备 NVIDIA GPU；具体型号和显存未说明。","未说明（处理十亿级数据集建议使用 Spark 分布式集群以避免内存溢出）",{"notes":94,"python":95,"dependencies":96},"该工具为跨平台 Python 库，可通过 pip 安装。基础功能仅需安装核心包；若需使用幻觉检测（HHEM）或代理功能，需安装额外依赖（如 torch 和 transformers）。支持本地执行或使用 Spark 进行大规模数据扩展。未明确提及具体的 CUDA 版本或最低显存要求，但在处理海量数据时推荐分布式环境。","3.8+",[97,98,99,100,101],"torch","transformers","sqlalchemy","pyspark","dingo-python",[51,15,13,54,26],[104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123],"data-quality","data-validation","llm","spark","vlm","data-evaluation","dataquality","datascience","opencompass","openai","deepseek","data-quality-assessment","data-quality-report","common-crawl","qwen","hallucination","hallucination-detection","data-agent","llm-as-a-judge","agent-as-a-judge","2026-03-27T02:49:30.150509","2026-04-06T06:44:10.054513",[127,132,137,142,147,152,157,162],{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},17275,"如何在局域网内访问 Dingo 服务（解决只能本地访问的问题）？","默认情况下服务仅监听本地地址。若需让局域网内其他设备访问，请在运行脚本前设置环境变量：\nos.environ['GRADIO_SERVER_NAME'] = '0.0.0.0'\n或者在代码中启动 demo 时指定 server_name=\"0.0.0.0\"。设置后服务将监听所有网络接口。","https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fissues\u002F227",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},17276,"运行可视化命令时报错 'index.html not found' 怎么办？","该错误通常是因为通过 pip 安装的包中缺少 HTML 模板文件。解决方法是克隆源代码仓库并从中运行可视化命令：\n1. git clone git@github.com:MigoXLab\u002Fdingo.git\n2. cd dingo\n3. python -m dingo.run.vsl --input .\u002Foutputs\u002F你的任务目录\u002F\n请勿直接使用 pip 安装包中的路径运行可视化模块。","https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fissues\u002F120",{"id":138,"question_zh":139,"answer_zh":140,"source_url":141},17277,"调用 DeepSeek 或其他兼容 OpenAI 格式的 LLM 时出现 'connect error' 如何解决？","目前的 OpenAI 客户端可能未完全开放自定义参数设置。如果遇到连接错误，请检查代码中初始化 client 的部分，尝试手动添加必要的参数配置（如 base_url, api_key 等）。如果默认配置无法生效，建议参考源码修改 client 初始化逻辑或直接提交 PR 修复。","https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fissues\u002F179",{"id":143,"question_zh":144,"answer_zh":145,"source_url":146},17278,"运行时出现 'Spark Executor not imported' 警告是否影响使用？","这是一个警告信息，表示 Spark 执行器未导入，但不影响本地模式（local mode）的正常使用。如果你不需要分布式处理功能，可以忽略此警告继续运行。如果需要 Spark 支持，请确保已正确安装 PySpark 及相关依赖。","https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fissues\u002F181",{"id":148,"question_zh":149,"answer_zh":150,"source_url":151},17279,"Dingo Python SDK 依赖的 openai 库版本过低怎么办？","该问题已在最新版本中修复。请将 Dingo 升级到 v1.11.1 或更高版本，新版本已更新了对 openai 库的依赖要求，支持更新的版本。升级命令：pip install --upgrade dingo","https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fissues\u002F272",{"id":153,"question_zh":154,"answer_zh":155,"source_url":156},17280,"executor.execute() 是否支持并发执行大模型评估任务？","支持并发。在使用大模型进行评估时，可以通过配置文件或代码参数开启并发功能。具体配置方法可参考官方示例：examples\u002Fcompare\u002Fcompare_content.py 第 18 行附近的配置说明。","https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fissues\u002F242",{"id":158,"question_zh":159,"answer_zh":160,"source_url":161},17281,"在 Web 界面提交本地数据集时遇到 'Validation Failed for InputArgs' 错误如何解决？","该问题是由于输入参数验证逻辑缺陷导致的，已在开发分支修复并合并到主分支。请拉取最新代码或等待下一次发布更新。临时解决方法是确保上传文件格式正确，并检查 dataset 参数是否被正确解析为字典对象而非字符串 'local'。","https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fissues\u002F153",{"id":163,"question_zh":164,"answer_zh":165,"source_url":166},17282,"使用 Metric 指标时出现 'Data object has no attribute raw_data' 错误是什么原因？","该错误通常是由于安装了旧版本的 Dingo 导致的兼容性问题。请检查当前安装的版本号，并升级到最新版本。如果问题仍然存在，请提供具体的 Metric 名称和执行脚本以便进一步排查。","https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fissues\u002F347",[168,173,178,183,188,193,198,203,208,213,218,223,228,233,238,243,248],{"id":169,"version":170,"summary_zh":171,"released_at":172},99493,"v2.1.0","## 变更内容\n* 添加图片规则指南，由 @pekopoke 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F237 中完成\n* 修复：布局提示，由 @chaserRen 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F239 中完成\n* 添加新提示，由 @dt-yy 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F241 中完成\n* 修复\u002Fade\u002Fdev，由 @decrystal 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F243 中完成\n* 新特性：添加5项RAG评估指标，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F244 中完成\n* 新特性：支持SQL数据源的多列评估，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F259 中完成\n* 新特性：SQL功能，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F260 中完成\n* 新特性：以星河场景为例的介绍文档、示例和规则，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F262 中完成\n* 重构：多轮对话功能，由 @seancoding-day 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F264 中完成\n* 新特性：更新README文件，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F265 中完成\n* 文档：更新架构图，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F266 中完成\n* 新特性：标签 QUALITY_GOOD，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F267 中完成\n* 修复：RAG指标问题，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F269 中完成\n* 修复：RAG示例问题，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F270 中完成\n* 新特性：添加RAG模拟和评估功能，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F271 中完成\n* 开发LLD：更新5项指标及RAG数据集，由 @pekopoke 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F273 中完成\n* 修复：5项指标中的RAG问题，由 @pekopoke 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F276 中完成\n* 修复：嵌入模型变更，由 @pekopoke 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F277 中完成\n* 文档：更新微信相关内容，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F279 中完成\n* 新特性：Gradio界面，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F280 中完成\n* 新特性：修复功能，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F281 中完成\n* 新特性：合并主分支，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F282 中完成\n* 新特性：更新modelres配置，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F278 中完成\n* 修复：RAG示例问题，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F283 中完成\n* 新特性：CI检查导入功能，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F285 中完成\n* 新特性：添加评分汇总功能，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F286 中完成\n* 功能：ATS关键词匹配器和简历优化器，由 @Kylie-dot-s 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F284 中完成\n* 新特性：摘要支持多列显示，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F287 中完成\n* 修复：修复单元测试，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F288 中完成\n* 新特性：更新自动生成指标功能，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F289 中完成\n* 新特性：更新RAG评估基线，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F290 中完成\n* 新特性：更新端到端RAG评估功能，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F292 中完成\n* 新特性：添加PII检测功能，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F293 中完成\n* 新特性：添加LLMTextQualityV5功能，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F294 中完成\n* 修复：更新answer_relevan","2026-03-13T02:35:35",{"id":174,"version":175,"summary_zh":176,"released_at":177},99494,"v2.0.0","## 变更内容\n* 添加图片规则指南，由 @pekopoke 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F237 中完成\n* 修复：布局提示，由 @chaserRen 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F239 中完成\n* 添加新提示，由 @dt-yy 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F241 中完成\n* 修复\u002Fade\u002Fdev，由 @decrystal 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F243 中完成\n* 新特性：添加5项RAG评估指标，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F244 中完成\n* 新特性：支持SQL数据源的多列评估，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F259 中完成\n* 新特性：SQL功能，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F260 中完成\n* 新特性：xinghe：md、示例、规则，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F262 中完成\n* 重构：多轮对话，由 @seancoding-day 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F264 中完成\n* 新特性：更新README，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F265 中完成\n* 文档：更新架构图，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F266 中完成\n* 新特性：标签 QUALITY_GOOD，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F267 中完成\n* 修复：RAG指标，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F269 中完成\n* 修复：修复RAG示例，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F270 中完成\n* 新特性：添加RAG mock和评估，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F271 中完成\n* 开发LLD：更新5项指标和RAG数据集，由 @pekopoke 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F273 中完成\n* 修复：5项指标的RAG问题，由 @pekopoke 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F276 中完成\n* 修复：嵌入模型变更，由 @pekopoke 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F277 中完成\n* 文档：更新微信相关内容，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F279 中完成\n* 新特性：Gradio界面，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F280 中完成\n* 新特性：修复，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F281 中完成\n* 新特性：合并main分支，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F282 中完成\n* 新特性：更新modelres，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F278 中完成\n* 修复：修复RAG示例，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F283 中完成\n* 新特性：CI检查导入，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F285 中完成\n* 新特性：添加评分汇总，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F286 中完成\n* 功能：ATS关键词匹配器和简历优化器，由 @Kylie-dot-s 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F284 中完成\n* 新特性：摘要支持多列，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F287 中完成\n* 修复：修复单元测试，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F288 中完成\n* 新特性：更新自动生成指标，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F289 中完成\n* 新特性：更新rag_eval_baseline，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F290 中完成\n* 新特性：更新端到端RAG评估，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F292 中完成\n* 新特性：添加PII检测，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F293 中完成\n* 新特性：添加LLMTextQualityV5，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F294 中完成\n* 修复：更新answer_relevancy","2025-12-25T10:47:58",{"id":179,"version":180,"summary_zh":181,"released_at":182},99495,"v1.11.1","## 变更内容\n* docs: 由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F240 中更新微信相关内容\n* docs: 由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F245 中更新微信相关内容\n* feat: 由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F249 中更新微信图片\n* feat: 由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F261 中更新微信相关内容\n* docs: 由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F268 中更新微信相关内容\n* feat: 由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F274 中新增 OpenAI 免费版本\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fcompare\u002Fv1.11.0...v1.11.1","2025-12-09T03:05:01",{"id":184,"version":185,"summary_zh":186,"released_at":187},99496,"v1.11.0","## 变更内容\n* 文档：修复 Artimuse 示例链接；由 @Kylie-dot-s 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F164 中润色 Tuiwen.md 文件。\n* 文档：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F174 中更新 README，添加 SEO 元数据。\n* 文档：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F175 中更新 README，添加 Trust Score 徽章。\n* 功能：由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F177 中新增配置。\n* 文档：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F180 和 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F183 中更新微信图片。\n* 修复：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F186 中修复 Hallucination 评估问题。\n* 修复：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F187 中修复 Hallucination 相关文档。\n* 功能：由 @chaserRen 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F185 中为 MinerU 训练数据集添加文档解析质量提示。\n* 功能：由 @chaserRen 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F189 中新增 xyz 音频及格式规则。\n* 功能：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F191 中实现带理由结果的 3 小时评估。\n* 文档：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F192 中添加 Artimuse x 和 Reddit 帖子。\n* 文档：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F196 中更新微信相关内容。\n* 功能：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F195 中为 vsl 添加多目录支持。\n* 功能：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F197 中支持本地文件的 gz 压缩格式。\n* 功能：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F198 中添加事实核查示例。\n* 功能：由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F200 中更新 ModelRes 并添加图片规则。\n* 文档：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F201 中再次更新微信图片。\n* 功能：由 @1041206149 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F203 中优化 WebKit 抽取效果对比提示。\n* 更新文档解析器：由 @chaserRen 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F207 中完成。\n* 功能：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F208 中新增 html_extract_compare_v2。\n* 功能：由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F209 中为规则添加参数。\n* 功能：由 @seancoding-day 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F210 中在配置中添加 all_labels。\n* 功能：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F211 中修复 S3 源并添加示例。\n* 功能：由 @1041206149 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F213 中添加代码与表格对比提示。\n* 文档：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F214 中再次更新微信图片。\n* 功能：由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F216 中添加 QUALITY_BAD_IMG_RELEVANCE 示例。\n* 功能：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F219 中更新指标文档。\n* 功能：由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F218 中更新 Gradio 界面。\n* 新增重叠标签图片检查：由 @pekopoke 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F212 中完成。\n* 新增标签图片检查指南文档：由 @pekopoke 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F222 中完成。\n* 功能：1. 添加 VLM 解释说明；2. 更新消息中的图片格式；3. 更新图片数据。","2025-10-29T10:24:50",{"id":189,"version":190,"summary_zh":191,"released_at":192},99497,"v1.10.0","## 变更内容\n* docs：添加 1.9.0 版本发布说明，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F140 中完成\n* feat：新增 GPT-5 幻觉评估（无网络搜索），由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F143 中完成\n* MCP 信任评分，由 @Matvey-Kuk 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F144 中完成\n* feat：新增图像 artimuse 功能，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F145 中完成\n* fix：在子处理器中加载 rule_config key_list，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F147 中完成\n* docs：添加 GitHub 星标点击动图，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F148 中完成\n* feat：新增基于 meta-rater 模型的评估，由 @seancoding-day 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F149 中完成\n* feat：更新 clickstar 动图，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F150 中完成\n* 将 main 分支同步至 dev 分支，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F152 中完成\n* feat：新增数学公式比较功能 (LLMMathCompare)，由 @1041206149 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F151 中完成\n* feat：更新 Gradio 示例，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F154 中完成\n* docs：更新微信图片，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F155 和 \u002F156 中完成\n* docs：更新 CONTRIBUTING 文档，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F159 中完成\n* 更新 vsl.py 文件，由 @Kylie-dot-s 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F158 中完成\n* feat：添加 artimuse 抽样测试集，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F160 中完成\n* docs（artimuse）：与代码对齐；添加示例复现及描述，由 @Kylie-dot-s 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F163 中完成\n* docs：更新微信图片，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F166 中完成\n* 修复 Issue #165：PromptTextHelpful 的状态始终为差，由 @sakunkun 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F168 中完成\n* docs：更新微信图片，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F170 中完成\n* 将 dev 分支同步至 main 分支，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F171 中完成\n* 将 main 分支同步至 dev 分支，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F169 中完成\n* feat：v1.10.0 版本，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F172 和 \u002F173 中完成\n\n## 新贡献者\n* @Matvey-Kuk 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F144 中完成了首次贡献\n* @1041206149 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F151 中完成了首次贡献\n* @Kylie-dot-s 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F158 中完成了首次贡献\n* @sakunkun 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F168 中完成了首次贡献\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fcompare\u002Fv1.9.0...v1.10.0","2025-09-08T05:54:52",{"id":194,"version":195,"summary_zh":196,"released_at":197},99504,"v1.5.0","## What's Changed\r\n* [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F40\r\n* docs: readme add badge by @e06084 in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F42\r\n* docs: update readme by @e06084 in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F48\r\n* Revert \"docs: update readme\" in main by @e06084 in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F51\r\n* release 1.5.0 version by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F52\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fcompare\u002Fv1.4.0...v1.5.0","2025-03-31T08:55:22",{"id":199,"version":200,"summary_zh":201,"released_at":202},99489,"v2.2.2","## 变更内容\n* 功能：新增 clawhub 技能徽章，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F374 中实现\n* 功能（LLM）：为 ArticleFactChecker 添加全局超时功能，并引入 arXiv 包，由 @seancoding-day 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F375 中实现\n* 修复：LLMHtmlExtractCompareV2 指标，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F376 中修复\n* 功能：表格、公式质检提示模板，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F377 中实现\n* 文档：更新微信相关说明，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F378 中完成\n* 功能：BaseTextQuality 根据分数进行判断，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F379 中实现\n* 指标：更新 LLMTextQualityV5，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F380 中完成\n* 功能：EvaluatorLLMArgs 删除 parameters 属性，允许扩展，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F381 中实现\n* 文档：更新微信相关内容（#378），由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F382 中完成\n* 功能：v2.2.2 版本，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F383 中发布\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fcompare\u002Fv2.2.1...v2.2.2","2026-04-02T08:08:39",{"id":204,"version":205,"summary_zh":206,"released_at":207},99490,"v2.2.1","## 变更内容\n* 功能：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F359 中优化了依赖构建\n* 文档：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F361 中添加了 v2.1.0 海报\n* 文档：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F362 中添加了知乎文章\n* 技能：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F364 中新增了 clawhub 技能\n* 技能：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F365 中更新了 clawhub\n* 功能：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F366 中将 CLI 重构为 Agent-Native 模式\n* 功能：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F367 中为 dingo CLI 添加了 MCP 服务器\n* 文档：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F368 和 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F369 中更新了 README\n* 功能：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F370 中删除了 dingo 应用演示代码\n* 由 @seancoding-day 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F371 中为 Claude 和 OpenClaw 新增了文章事实核查技能\n* 由 @e06084 发布了 v2.2.0 版本，详情见 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F372\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fcompare\u002Fv2.1.0...v2.2.1","2026-03-24T06:11:43",{"id":209,"version":210,"summary_zh":211,"released_at":212},99491,"v2.2.0","## 变更内容\n* 文档：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F361 中添加 v2.1.0 海报\n* 文档：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F362 中添加知乎文章\n* 文档：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F363 中更新微信相关内容\n* 技能：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F364 中新增 clawhub 技能\n* 技能：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F365 中更新 clawhub\n* 功能：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F366 中将 CLI 重构为 Agent-Native 模式\n* 功能：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F367 中为 dingo CLI 添加 MCP 服务器\n* 文档：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F368 中更新 README\n* 文档：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F369 中再次更新 README\n* 功能：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F370 中删除 dingo 应用演示代码\n* 由 @seancoding-day 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F371 中新增针对 Claude 和 OpenClaw 的文章事实核查技能\n* 由 @e06084 发布 2.2.0 版本，链接分别为 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F372 和 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F373\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fcompare\u002Fv2.1.1...v2.2.0","2026-03-24T05:11:01",{"id":214,"version":215,"summary_zh":216,"released_at":217},99492,"v2.1.1","## 变更内容\n* 功能：由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F359 中优化了依赖项构建\n* 功能：版本 2.1.1，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F360 中发布\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fcompare\u002Fv2.1.0...v2.1.1","2026-03-13T06:56:32",{"id":219,"version":220,"summary_zh":221,"released_at":222},99498,"v1.9.0","## 变更内容\n* 添加长视频提示，由 @chaserRen 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F124 中实现\n* 新特性：添加基于 GPT 和 HHEM-2.1-Open 的幻觉检测功能，由 @e06084 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F126 中实现\n* 更新知乎文章，由 @seanpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F130 中完成\n* 添加 _metric_info，由 @chaserRen 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F131 中实现\n* 新特性：将部分规则合并为一种类型，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F132 中实现\n* 新特性：更新 InputArgs，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F133 中完成\n* 新特性：1. 规范 dataman 类名 2. 更新 README.md：删除变更日志并添加 deepwiki 徽章，由 @seanpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F134 中完成\n* 新特性：v1.9 版本，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F135 中发布\n* v1.9 版本，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F136 中发布\n* 新特性：在 CI 中删除示例，由 @shijinpjlab 在 https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F138 中完成\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fcompare\u002Fv1.8.1...v1.9.0","2025-07-31T11:20:11",{"id":224,"version":225,"summary_zh":226,"released_at":227},99499,"v1.8.1","## What's Changed\r\n* feat: add pkg version by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F112\r\n* feat: git publish ci dependency by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F113\r\n* feat: add technical doc by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F115\r\n* feat: fix lint by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F116\r\n* feat: add auto metrics gen method by @e06084 in https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F114\r\n* update technical doc and extend terminal args compatibility by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F117\r\n* docs: add posts doc by @e06084 in https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F118\r\n* docs: update posts doc by @e06084 in https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F119\r\n* feat: add app and web-static in wheel package by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F121\r\n* feat: gradio add new function by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F123\r\n* feat: gradio提示、httpx 版本 by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F125\r\n* feat: v1.8.1 by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F127\r\n* v1.8.1 by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F128\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fcompare\u002Fv1.8...v1.8.1","2025-07-17T06:21:16",{"id":229,"version":230,"summary_zh":231,"released_at":232},99500,"v1.8","## What's Changed\r\n* fix lint. by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F103\r\n* Merge rule and prompt Result Info. by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F104\r\n* [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F105\r\n* doc: update architeture by @e06084 in https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F109\r\n* build: add publish-to-pypi ci and release v1.8 by @e06084 in https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F110\r\n* Release v1.8 by @e06084 in https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fpull\u002F111\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FMigoXLab\u002Fdingo\u002Fcompare\u002Fv1.7.1...v1.8","2025-07-04T06:45:29",{"id":234,"version":235,"summary_zh":236,"released_at":237},99501,"v1.7.1","## What's Changed\r\n* Main to dev by @e06084 in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F77\r\n* feat: add more mcp tools and mcp demo by @seanpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F78\r\n* update mcp readme by @seanpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F79\r\n* feat: add wechat by @e06084 in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F80\r\n* docs: update readme by @e06084 in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F83\r\n* update fasttext download by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F82\r\n* docs: update readme by @e06084 in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F84\r\n* optimize: change MetaData to Data by @seanpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F85\r\n* docs: add Japanese readme by @e06084 in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F86\r\n* Dev continue by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F87\r\n* feat: v1.7 by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F88\r\n* feat: llm and rule both in use by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F93\r\n* feature: add google colab demo by @e06084 in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F95\r\n* feat: pre-commit add flake8 by @e06084 in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F96\r\n* feat: raise gradio error in web page and move app_gradio place in project. by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F97\r\n* feat: update readme by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F98\r\n* fix gardio bug. by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F100\r\n* feat: v1.7.1 by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F101\r\n* v1.7.1 by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F102\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fcompare\u002Fv1.7...v1.7.1","2025-06-11T02:05:46",{"id":239,"version":240,"summary_zh":241,"released_at":242},99502,"v1.7","## What's Changed\r\n* Add MseeP.ai badge by @lwsinclair in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F75\r\n* fix: update MseeP.ai Security Assessment Badge by @e06084 in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F76\r\n* release v1.7 by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F89\r\n\r\n## New Contributors\r\n* @lwsinclair made their first contribution in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F75\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fcompare\u002Fv1.6.0...v1.7","2025-05-30T06:30:15",{"id":244,"version":245,"summary_zh":246,"released_at":247},99503,"v1.6.0","## What's Changed\r\n* feat: use repr() to explain the meaning of char. by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F55\r\n* feat: update spark exec. by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F56\r\n* feat: add llm core use and example. by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F57\r\n* feat: update huggingface demo. by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F58\r\n* feat: change huggingface demo default values of datasource and rule list by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F59\r\n* docs: update readme by @e06084 in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F60\r\n* feat: change prompt file name and update readme by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F61\r\n* feat: change llm api from `call_api` to `eval` by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F62\r\n* Update the way of saving data. by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F63\r\n* feat: fix base function of ExecProto. And update summarize of spark. by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F64\r\n* support DataMan methodology by @seanpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F67\r\n* feat: change llm scene name and add default prompt. by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F68\r\n* feat: update readme and fix cli start web by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F70\r\n* Support the Dingo MCP server by @seanpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F71\r\n* feat: add use_browser and change args action to store_true by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F72\r\n* feat: release v1.6 by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F73\r\n* Release v1.6 by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F74\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fcommits\u002Fv1.6.0\r\n","2025-05-06T09:18:44",{"id":249,"version":250,"summary_zh":251,"released_at":252},99505,"v1.4.0","## What's Changed\r\n* feat: add ChatMLConvertor for chatml-jsonl format and enhance Executor by @tenacioustommy in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F5\r\n* add prompt by @dt-yy in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F6\r\n* add: ahocorasick matching way in RuleUnsafeWords by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F7\r\n* update: llm_register decorator use class by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F8\r\n* add: ci check when pull request into dev branch by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F9\r\n* fix: group contains rule and prompt by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F10\r\n* add dup info by @dt-yy in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F12\r\n* update: delete print in RuleOnlyUrl by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F13\r\n* fix: ProcessPoolExecutor leads summary not update by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F14\r\n* update: pbar update number related to batch size by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F16\r\n* fix: error_info write twice by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F17\r\n* feat: google verify by @e06084 in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F19\r\n* update: google search index by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F20\r\n* update: prompt v3, v4 by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F21\r\n* refactor: enhance LocalExecutor to support separate thread and proces… by @tenacioustommy in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F11\r\n* add: RuleAbnormalChar, RuleAbnormalHtml, RuleEnterAndSpace by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F23\r\n* feat: clear bad_info_list and good_info_list according to size by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F24\r\n* feat: when custom, group is not necessary to set. by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F25\r\n* feat: support spark llm check. by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F26\r\n* feat: add app html in huggingface by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F28\r\n* [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F29\r\n* feat: add end_index by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F30\r\n* [docs]: add hf spaces demo and GUI output by @e06084 in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F32\r\n* feat: add header html in hf demo by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F33\r\n* [docs]: add discord invite link by @e06084 in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F34\r\n* feat: add llm demo, including local and remote.（deepseek support） by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F36\r\n* feat: add v1.4 by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F37\r\n* Dev to Main by @shijinpjlab in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F38\r\n\r\n## New Contributors\r\n* @tenacioustommy made their first contribution in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F5\r\n* @dt-yy made their first contribution in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F6\r\n* @shijinpjlab made their first contribution in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F7\r\n* @pre-commit-ci made their first contribution in https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fpull\u002F29\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FDataEval\u002Fdingo\u002Fcommits\u002Fv1.4.0","2025-02-28T06:26:37"]