Журнал изменений
- 2024/12/27: Инициализация проекта
Введение
Dingo — это инструмент оценки качества данных, который помогает вам автоматически обнаруживать проблемы с качеством данных в ваших наборах данных. Dingo предоставляет множество встроенных правил и методов оценки моделей, а также поддерживает пользовательские методы оценки. Dingo поддерживает часто используемые текстовые наборы данных и мультимодальные наборы данных, включая наборы данных предварительной подготовки, наборы данных тонкой настройки и наборы данных оценки. Кроме того, Dingo поддерживает несколько методов использования, включая локальный CLI и SDK, что упрощает интеграцию в различные платформы оценки, такие как OpenCompass .
Архитектурная схема
Быстрый старт
Установка
Примеры использования
1. Использование Evaluate Core
2. Оценить локальный текстовый файл (открытый текст)
3. Оцените набор данных «Обнимающееся лицо»
4. Оцените формат JSON/JSONL
5. Использование LLM для оценки
Интерфейс командной строки
Оценка с помощью наборов правил
Оцените с помощью LLM (например, GPT-4o)
Пример config_gpt.json
:
Визуализация графического интерфейса
После оценки (с save_data=True
) будет автоматически сгенерирована страница frontend. Чтобы вручную запустить frontend:
Где output_directory
содержит результаты оценки с файлом summary.json
.
Онлайн-демонстрация
Попробуйте Dingo в нашей онлайн-демонстрации: (Обнимающее лицо)🤗
Показатели качества данных
Dingo классифицирует проблемы качества данных по 7 измерениям метрик качества. Каждое измерение можно оценить с помощью как методов на основе правил, так и подсказок LLM:
Метрика качества | Описание | Примеры правил | Примеры подсказок LLM |
---|---|---|---|
ПОЛНОТА | Проверяет, являются ли данные неполными или отсутствуют | RuleColonEnd , RuleContentNull | Проверяет, заканчивается ли текст двоеточием или многоточием, содержит ли он непарные скобки или отсутствуют ли в нем критические компоненты. |
ЭФФЕКТИВНОСТЬ | Проверяет, являются ли данные значимыми и правильно ли они отформатированы. | RuleAbnormalChar , RuleHtmlEntity , RuleSpecialCharacter | Обнаруживает искаженный текст, слова, слипшиеся без пробелов, и текст с отсутствующими знаками препинания. |
БЕГЛОСТЬ | Проверяет грамматическую правильность текста и его естественность при чтении | RuleAbnormalNumber , RuleNoPunc , RuleWordStuck | Определяет слишком длинные слова, фрагменты текста без знаков препинания или контент с хаотичным порядком чтения |
АКТУАЛЬНОСТЬ | Обнаруживает нерелевантный контент в данных | Варианты RuleHeadWord для разных языков | Проверяет на наличие нерелевантной информации, такой как сведения о цитатах, верхние/нижние колонтитулы, маркеры сущностей, HTML-теги |
БЕЗОПАСНОСТЬ | Выявляет конфиденциальную информацию или конфликты ценностей | RuleIDCard , RuleUnsafeWords | Проверяет персональные данные и контент, связанный с азартными играми, порнографией, политическими вопросами |
СХОДСТВО | Обнаруживает повторяющийся или очень похожий контент | RuleDocRepeat | Оценивает текст на предмет последовательно повторяющегося содержимого или многократного использования специальных символов. |
ПОНЯТНОСТЬ | Оценивает, насколько легко интерпретировать данные | RuleCapitalWords | Обеспечивает правильное форматирование формул LaTeX и Markdown с правильной сегментацией и переносами строк. |
Оценка качества LLM
Dingo предоставляет несколько методов оценки на основе LLM, определенных подсказками в каталоге dingo/model/prompt
. Эти подсказки регистрируются с помощью декоратора prompt_register
и могут быть объединены с моделями LLM для оценки качества:
Подсказки по оценке качества текста
Тип подсказки | Метрическая | Описание |
---|---|---|
TEXT_QUALITY_V2 , TEXT_QUALITY_V3 | Различные качественные параметры | Комплексная оценка качества текста, охватывающая эффективность, релевантность, полноту, понятность, схожесть, беглость и безопасность |
QUALITY_BAD_EFFECTIVENESS | Эффективность | Обнаруживает искаженный текст и антисканирующий контент |
QUALITY_BAD_SIMILARITY | Сходство | Выявляет проблемы повторения текста |
WORD_STICK | Беглость | Проверяет слова на наличие слипшихся слов без надлежащего интервала |
CODE_LIST_ISSUE | Полнота | Оценивает блоки кода и проблемы форматирования списков |
UNREAD_ISSUE | Эффективность | Обнаруживает нечитаемые символы из-за проблем с кодировкой |
Подсказки по оценке 3H (честные, полезные, безвредные)
Тип подсказки | Метрическая | Описание |
---|---|---|
QUALITY_HONEST | Честность | Оценивает, содержат ли ответы точную информацию без фальсификаций или обмана. |
QUALITY_HELPFUL | Полезность | Оценивает, отвечают ли ответы непосредственно на вопросы и следуют ли они соответствующим инструкциям |
QUALITY_HARMLESS | Безвредность | Проверяет, не содержат ли ответы вредоносного контента, дискриминационного языка и опасной помощи |
Подсказки для оценки предметной области
Тип подсказки | Метрическая | Описание |
---|---|---|
TEXT_QUALITY_KAOTI | Качество экзаменационных вопросов | Специализированная оценка качества экзаменационных вопросов, уделяющая особое внимание отображению формул, форматированию таблиц, структуре абзацев и форматированию ответов. |
Html_Abstract | Качество извлечения HTML | Сравнивает различные методы извлечения Markdown из HTML, оценивая полноту, точность форматирования и семантическую согласованность. |
DATAMAN_ASSESSMENT | Качество данных и домен | Оценивает качество данных до обучения с использованием методологии DataMan (14 стандартов, 15 доменов). Присваивает оценку (0/1), тип домена, статус качества и причину. |
Подсказки по классификации
Тип подсказки | Метрическая | Описание |
---|---|---|
CLASSIFY_TOPIC | Категоризация тем | Классифицирует текст по таким категориям, как языковая обработка, письмо, код, математика, ролевая игра или вопросы и ответы по знанию |
CLASSIFY_QR | Классификация изображений | Распознает изображения как CAPTCHA, QR-код или обычные изображения |
Подсказки по оценке изображения
Тип подсказки | Метрическая | Описание |
---|---|---|
IMAGE_RELEVANCE | Релевантность изображения | Оценивает, соответствует ли изображение эталонному изображению по количеству лиц, деталям и визуальным элементам. |
Использование оценки LLM при оценке
Чтобы использовать эти подсказки для оценки в своих оценках, укажите их в своей конфигурации:
Вы можете настроить эти подсказки, чтобы сосредоточиться на определенных измерениях качества или адаптироваться к определенным требованиям домена. В сочетании с соответствующими моделями LLM эти подсказки позволяют проводить комплексную оценку качества данных по нескольким измерениям.
Группы правил
Dingo предоставляет предварительно настроенные группы правил для различных типов наборов данных:
Группа | Вариант использования | Примеры правил |
---|---|---|
default | Общее качество текста | RuleColonEnd , RuleContentNull , RuleDocRepeat и т. д. |
sft | Тонкая настройка наборов данных | Правила по default плюс RuleLineStartWithBulletpoint |
pretrain | Наборы данных для предварительного обучения | Полный набор из более чем 20 правил, включая RuleAlphaWords , RuleCapitalWords и т. д. |
Чтобы использовать определенную группу правил:
Основные характеристики
Поддержка из разных источников и в разных режимах
- Источники данных : локальные файлы, наборы данных Hugging Face, хранилище S3
- Типы данных : наборы данных для предварительного обучения, тонкой настройки и оценки.
- Модальности данных : Текст и изображение
Оценка на основе правил и моделей
- Встроенные правила : более 20 общих эвристических правил оценки
- Интеграция LLM : OpenAI, Kimi и локальные модели (например, Llama3)
- Пользовательские правила : легко расширяйте свои собственные правила и модели.
- Оценка безопасности : интеграция API Perspective
Гибкое использование
- Интерфейсы : CLI и SDK-опции
- Интеграция : Простая интеграция с другими платформами
- Движки исполнения : локальные и Spark
Комплексная отчетность
- Метрики качества : 7-мерная оценка качества
- Прослеживаемость : подробные отчеты для отслеживания аномалий
Руководство пользователя
Пользовательские правила, подсказки и модели
Если встроенные правила не соответствуют вашим требованиям, вы можете создать собственные:
Пример пользовательского правила
Индивидуальная интеграция LLM
Больше примеров смотрите в:
Двигатели исполнения
Местное исполнение
Исполнение Искры
Отчеты об оценке
После оценки Dingo генерирует:
- Сводный отчет (
summary.json
): общие показатели и оценки - Подробные отчеты : конкретные проблемы по каждому нарушению правил
Пример резюме:
MCP-сервер (экспериментальный)
Dingo включает экспериментальный сервер Model Context Protocol (MCP). Подробности о запуске сервера и его интеграции с такими клиентами, как Cursor, см. в специальной документации:
Документация сервера Dingo MCP (README_mcp.md)
Исследования и публикации
- «Комплексная оценка качества данных для многоязычных веб-данных» : WanJuanSiLu: высококачественный набор данных веб-текста с открытым исходным кодом для языков с низкими ресурсами
- «Качество данных предварительной подготовки с использованием методологии DataMan» : DataMan: Менеджер данных для предварительной подготовки больших языковых моделей
Планы на будущее
- [ ] Более богатые графические и текстовые оценочные индикаторы
- [ ] Оценка модальности аудио и видео данных
- [ ] Оценка небольшой модели (fasttext, Qurating)
- [ ] Оценка разнообразия данных
Ограничения
Текущие встроенные правила обнаружения и методы модели фокусируются на общих проблемах качества данных. Для специализированных потребностей оценки мы рекомендуем настраивать правила обнаружения.
Благодарности
Вклад
Мы ценим всех участников за их усилия по улучшению и совершенствованию Dingo
. Пожалуйста, обратитесь к Руководству по внесению вклада для получения рекомендаций по внесению вклада в проект.
Лицензия
В этом проекте используется лицензия Apache 2.0 Open Source .
Цитата
Если вы считаете этот проект полезным, пожалуйста, рассмотрите возможность цитирования нашего инструмента:
Related MCP Servers
- AsecurityAlicenseAqualityMiro MCP server, exposing all functionalities available in official Miro SDK.Last updated -97665TypeScriptApache 2.0
- PythonMIT License
- JavaScriptMIT License
- PythonMIT License