Этот инструмент позволяет проверить точность различных детекторов искусственного интеллекта. Это инструмент командной строки, предназначенный для упрощения одновременного тестирования большого количества детекторов с использованием одних и тех же данных.
Инструмент берет набор текстовых файлов и пропускает их через ряд детекторов искусственного интеллекта. Затем он выводит результаты в файл CSV. Инструмент также генерирует матрицу путаницы, чтобы показать точность детекторов. Но что такое матрица путаницы? Матрица путаницы — это таблица, которая используется для описания производительности модели классификации. Он показывает количество правильных и неправильных прогнозов, сделанных моделью классификации, по сравнению с фактическими результатами. Эта таблица чрезвычайно полезна для сравнения производительности различных детекторов, поскольку она показывает истинные положительные, ложные положительные, истинные отрицательные и ложноотрицательные результаты для каждого детектора. Это позволяет увидеть, какие детекторы наиболее точны.
pip install -r requirements.txt
python main.py
Пример рабочего процесса:
python main.py
Type Y/N to select Originality.ai API: y
Enter your Originality.ai API key: YOUR_API_KEY
Enter the directory path for AI text files: data/ai/
Enter the directory path for human text files: data/human/
Enter the input CSV file path: data/input.csv
Enter the output CSV file name: output.csv
Tool will process the data. This may take a while.
Would you like to generate a confusion matrix ? (y/n): y
Press enter to exit...
python matrix.py
чтобы сгенерировать матрицу путаницы. Инструмент ожидает, что данные будут находиться в файлах .txt в папке, которая передается инструменту при его запуске. Или, если вы пытаетесь обработать файл CSV, он ожидает, что столбцы будут в следующем порядке:
text,dataset,label
sample text,gpt-3,ai
Столбец набора данных может быть просто «ai» или «человеческий». Этот столбец используется для именования строк на выходе.
Для добавления детектора необходимо сделать следующее:
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",
}
}
},
}
api_endpoints.py
.api_endpoints.py
.Мы приветствуем вклад в этот проект! Вот несколько способов, которыми вы можете помочь:
Если вы обнаружили ошибку, сообщите об этом, открыв задачу на GitHub. Обязательно укажите:
Эта информация поможет нам быстрее диагностировать и исправить ошибку.
Мы всегда ищем способы улучшить инструмент! Если у вас есть идея по улучшению, откройте задачу на GitHub и опишите:
Если вы хотите напрямую внести код:
Убедитесь, что ваш PR соответствует следующему:
Мы хотим услышать о вашем опыте использования этого инструмента – хорошем и плохом. Дайте нам знать, что сработало, а что нет. Поделитесь историями о том, как этот инструмент помог в ваших исследованиях. Чем больше мы услышим от вас, тем лучше мы сможем сделать инструмент для каждого!
Спасибо за вклад!
Лицензия MIT
Copyright (c) [2023] [Originality.AI]
Настоящим разрешение бесплатно предоставляется любому лицу, получившему копию данного программного обеспечения и связанных с ним файлов документации («Программное обеспечение»), иметь дело с Программным обеспечением без ограничений, включая, помимо прочего, права на использование, копирование, изменение, распространение. , сублицензировать и/или продавать копии Программного обеспечения, а также разрешать лицам, которым предоставлено Программное обеспечение, делать это при соблюдении следующих условий:
Вышеупомянутое уведомление об авторских правах и данное уведомление о разрешении должны быть включены во все копии или существенные части Программного обеспечения.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ГАРАНТИЯМИ ТОВАРНОЙ ЦЕННОСТИ, ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ И НЕНАРУШЕНИЯ ПРАВ. АВТОРЫ ИЛИ ОБЛАДАТЕЛИ АВТОРСКИХ ПРАВ НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УБЫТКИ ИЛИ ДРУГУЮ ОТВЕТСТВЕННОСТЬ, БУДЬ В ДЕЙСТВИЯХ ПО КОНТРАКТУ, ПРАВОНАРУШЕНИЮ ИЛИ ДРУГИМ ОБРАЗОМ, ВОЗНИКАЮЩИЕ ОТ, ИЗ ИЛИ В СВЯЗИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ДРУГИМИ СДЕЛКАМИ, ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ.