Этот инструмент позволяет проверить точность различных детекторов искусственного интеллекта. Это инструмент командной строки, предназначенный для упрощения одновременного тестирования большого количества детекторов с использованием одних и тех же данных.
Инструмент берет набор текстовых файлов и пропускает их через ряд детекторов искусственного интеллекта. Затем он выводит результаты в файл CSV. Инструмент также генерирует матрицу путаницы, чтобы показать точность детекторов. Но что такое матрица путаницы? Матрица путаницы — это таблица, которая используется для описания производительности модели классификации. Он показывает количество правильных и неправильных прогнозов, сделанных моделью классификации, по сравнению с фактическими результатами. Эта таблица чрезвычайно полезна для сравнения производительности различных детекторов, поскольку она показывает истинные положительные, ложные положительные, истинные отрицательные и ложноотрицательные результаты для каждого детектора. Это позволяет увидеть, какие детекторы наиболее точны.
Питон 3.9 или выше
Ключи API для детекторов, которые вы хотите протестировать
Клонируйте этот репозиторий или загрузите zip-файл.
Установите требования, используя pip install -r requirements.txt
Запишите свои ключи API для детекторов, которые вы хотите протестировать.
Запустите инструмент, используя python main.py
Следуйте инструкциям в инструменте, добавив ключи API при появлении соответствующего запроса.
Инструмент запустит детекторы и выведет результаты в файл CSV.
Пример рабочего процесса:
основной файл Python Введите Y/N, чтобы выбрать API Originality.ai: y Введите свой ключ API Originality.ai: YOUR_API_KEY. Введите путь к каталогу для текстовых файлов AI: data/ai/ Введите путь к каталогу для текстовых файлов: data/human/. Введите путь к входному файлу CSV: data/input.csv. Введите имя выходного CSV-файла: output.csv. Инструмент обработает данные. Это может занять некоторое время. Хотите создать матрицу путаницы? (да/нет): да Нажмите Enter, чтобы выйти...
Инструмент будет запускать только те детекторы, для которых у вас есть ключи API.
Если после завершения работы инструмента вам не будет предложено создать матрицу путаницы или генерация не удалась, запустите python matrix.py
чтобы сгенерировать матрицу путаницы.
Инструмент ожидает, что данные будут находиться в файлах .txt в папке, которая передается инструменту при его запуске. Или, если вы пытаетесь обработать файл CSV, он ожидает, что столбцы будут в следующем порядке:
text,dataset,label
sample text,gpt-3,ai
Столбец набора данных может быть просто «ai» или «человеческий». Этот столбец используется для именования строк на выходе.
Для добавления детектора необходимо сделать следующее:
Найдите документацию по API детекторов.
Найдите конечную точку детектора
Найдите параметры, необходимые для конечной точки
Добавьте детектор в файл detectors.py
в следующем формате:
"post_parameters": {
# The endpoint URL for the API.
"endpoint": "YOUR_API_ENDPOINT_URL",
# The body of the POST request. This usually contains the text to be analyzed.
# The actual contents will depend on what the API expects.
# Add or remove parameters as needed depending on the API requirements.
"body": {"PARAMETER_NAME": "PARAMETER_VALUE"},
# The headers for the POST request. This usually includes the API key and content type.
# Add or remove headers as needed depending on the API requirements.
"headers": {"HEADER_NAME": "HEADER_VALUE"},
# Information about where the API key is included in the request.
"API_KEY_POINTER": {
# The location that the API key will end up (usually 'headers' or 'body').
"location": "headers_or_body",
# The actual API key. This is usually read from an environment variable or input by the user.
"value": "YOUR_API_KEY",
# The name of the key or field where the API key is included. e.g 'x-api-key' or 'api_key'.
"key_name": "API_KEY_HEADER_OR_PARAMETER_NAME",
},
# The key in the body of the POST request where the text to be analyzed is included. e.g 'text' or 'content'.
"text_key": "KEY_NAME_FOR_TEXT",
},
"response": {
# The expected response from the API. The actual structure will depend on what the API returns.
# This should include mappings for how to interpret the API's response.
# Add or remove mappings as needed.
# e.g if the API returns a JSON object with a key called 'result' and the value of 'result' is a list of objects
# with a key called 'score' then the mapping would be:
# "result": {
# "score": "score"
# }
"200": {
"result": {
"MAPPING_FOR_DESIRED_OUTPUT": "RESPONSE_KEY_PATH",
}
}
},
}
DOCS Originality.ai — чтобы указать конкретную версию, проверьте документацию и добавьте ее в соответствующее место в файле api_endpoints.py
.
Sapling.ai ДОКУМЕНТЫ
GPTZero DOCS – чтобы указать конкретную версию, проверьте документацию и добавьте ее в соответствующее место файла api_endpoints.py
.
ДОКУМЕНТЫ Writer.com
Copyleaks DOCS — следуйте инструкциям Copyleaks для настройки ключа API, поскольку он немного сложнее, чем другие детекторы.
Мы приветствуем вклад в этот проект! Вот несколько способов, которыми вы можете помочь:
Если вы обнаружили ошибку, сообщите об этом, открыв задачу на GitHub. Обязательно укажите:
Действия по воспроизведению ошибки
Ожидаемое поведение
Фактическое поведение
Эта информация поможет нам быстрее диагностировать и исправить ошибку.
Мы всегда ищем способы улучшить инструмент! Если у вас есть идея по улучшению, откройте задачу на GitHub и опишите:
Текущее поведение
Предлагаемое вами изменение и почему оно будет полезно
Пример варианта использования
Если вы хотите напрямую внести код:
Форкнуть репо
Клонируйте свою вилку
Внесение изменений в ветку
Напишите четкое и краткое сообщение о коммите.
Откройте запрос на включение в основной
Убедитесь, что ваш PR соответствует следующему:
Код чистый и хорошо отформатированный
Документация обновляется при необходимости
Сообщения о фиксации ясны и подробны.
Мы хотим услышать о вашем опыте использования этого инструмента – хорошем и плохом. Дайте нам знать, что сработало, а что нет. Поделитесь историями о том, как этот инструмент помог в ваших исследованиях. Чем больше мы услышим от вас, тем лучше мы сможем сделать инструмент для каждого!
Спасибо за вклад!
Лицензия MIT
Copyright (c) [2023] [Originality.AI]
Настоящим бесплатно любому лицу, получившему копию данного программного обеспечения и связанных с ним файлов документации («Программное обеспечение»), предоставляется разрешение на работу с Программным обеспечением без ограничений, включая, помимо прочего, права на использование, копирование, изменение, распространение. , сублицензировать и/или продавать копии Программного обеспечения, а также разрешать лицам, которым предоставлено Программное обеспечение, делать это при соблюдении следующих условий:
Вышеупомянутое уведомление об авторских правах и настоящее уведомление о разрешении должны быть включены во все копии или существенные части Программного обеспечения.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ГАРАНТИЯМИ ТОВАРНОЙ ЦЕННОСТИ, ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ И НЕНАРУШЕНИЯ ПРАВ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ АВТОРЫ ИЛИ ОБЛАДАТЕЛИ АВТОРСКИХ ПРАВ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УБЫТКИ ИЛИ ДРУГУЮ ОТВЕТСТВЕННОСТЬ, БУДЬ В ДЕЙСТВИЯХ ПО КОНТРАКТУ, ПРАВОНАРУШЕНИЮ ИЛИ ДРУГИМ ОБРАЗОМ, ВОЗНИКАЮЩИЕ ОТ, ИЗ ИЛИ В СВЯЗИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ДРУГИМИ СДЕЛКАМИ, ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ.