이 도구를 사용하면 다양한 AI 탐지기의 정확성을 테스트할 수 있습니다. 동일한 데이터를 사용하여 동시에 많은 수의 감지기를 쉽게 테스트할 수 있도록 설계된 명령줄 도구입니다.
이 도구는 일련의 텍스트 파일을 가져와 여러 AI 탐지기를 통해 실행합니다. 그런 다음 결과를 CSV 파일로 출력합니다. 이 도구는 또한 탐지기의 정확도를 보여주기 위해 혼동 행렬을 생성합니다. 그런데 혼동 행렬이란 무엇입니까? 혼동 행렬은 분류 모델의 성능을 설명하는 데 사용되는 테이블입니다. 실제 결과와 비교하여 분류 모델에 의해 이루어진 올바른 예측과 잘못된 예측의 수를 보여줍니다. 이 표는 각 감지기에 대한 참양성, 거짓양성, 참음성 및 거짓음성을 표시하므로 다양한 감지기의 성능을 비교하는 데 매우 유용합니다. 이를 통해 어떤 감지기가 가장 정확한지 확인할 수 있습니다.
파이썬 3.9 이상
테스트하려는 감지기의 API 키
이 저장소를 복제하거나 zip 파일을 다운로드하세요.
pip install -r requirements.txt
사용하여 요구 사항을 설치합니다.
테스트하려는 감지기에 대한 API 키를 기록해 두세요.
python main.py
사용하여 도구 실행
메시지가 표시되면 API 키를 추가하는 도구의 지침을 따르세요.
도구는 탐지기를 실행하고 결과를 CSV 파일로 출력합니다.
샘플 워크플로:
파이썬 메인.py Originality.ai API를 선택하려면 Y/N을 입력하세요. Originality.ai API 키를 입력하세요: YOUR_API_KEY AI 텍스트 파일의 디렉터리 경로를 입력하세요: data/ai/ 휴먼 텍스트 파일의 디렉터리 경로를 입력하세요: data/human/ 입력 CSV 파일 경로를 입력하세요: data/input.csv 출력 CSV 파일 이름 입력: output.csv 도구가 데이터를 처리합니다. 시간이 좀 걸릴 수 있습니다. 혼동 행렬을 생성하시겠습니까? (y/n): y 종료하려면 Enter를 누르세요...
이 도구는 API 키가 있는 감지기만 실행합니다.
도구가 완료되었을 때 혼동 행렬을 생성하라는 메시지가 표시되지 않거나 생성이 실패하는 경우 python matrix.py
실행하여 혼동 행렬을 생성하세요.
도구는 실행 시 도구에 전달되는 폴더의 .txt 파일에 데이터가 있을 것으로 예상합니다. 또는 csv 파일을 처리하려는 경우 열이 다음 순서로 되어 있을 것으로 예상합니다.
text,dataset,label
sample text,gpt-3,ai
데이터 세트 열은 단순히 'ai' 또는 'human'일 수 있습니다. 이 열은 출력에서 행의 이름을 지정하는 데 사용됩니다.
감지기를 추가하려면 다음을 수행해야 합니다.
감지기 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",
}
}
},
}
Originality.ai DOCS - 특정 버전을 지정하려면 문서를 확인하고 api_endpoints.py
파일의 적절한 위치에 추가하세요.
Sapling.ai DOCS
GPTZero DOCS - 특정 버전을 지정하려면 문서를 확인하고 api_endpoints.py
파일의 적절한 위치에 추가하세요.
Writer.com 문서
Copyleaks DOCS - API 키 설정은 다른 탐지기보다 조금 더 복잡하므로 Copyleaks 지침을 따르십시오.
우리는 이 프로젝트에 대한 기여를 환영합니다! 다음은 귀하가 도울 수 있는 몇 가지 방법입니다.
버그를 발견하면 GitHub 문제를 열어 보고해 주세요. 다음을 반드시 포함하세요:
버그를 재현하는 단계
예상되는 동작
실제 행동
이 정보는 버그를 더 빠르게 진단하고 수정하는 데 도움이 됩니다.
우리는 항상 도구를 개선할 수 있는 방법을 찾고 있습니다! 개선 사항에 대한 아이디어가 있는 경우 GitHub 문제를 열고 다음 사항을 설명하세요.
현재 행동
귀하가 제안한 변경 사항과 그것이 유용한 이유
사용 사례 예시
코드에 직접 기여하고 싶다면:
저장소 포크
포크를 복제하세요
지점에서 변경하기
명확하고 간결한 커밋 메시지 작성
메인에 대한 풀 리퀘스트 열기
PR이 다음 사항을 준수하는지 확인하세요.
코드가 깨끗하고 형식이 잘 지정되어 있습니다.
필요한 경우 문서가 업데이트됩니다.
커밋 메시지가 명확하고 상세합니다.
우리는 이 도구를 사용한 좋은 경험과 나쁜 경험에 대해 듣고 싶습니다. 무엇이 효과가 있었고 무엇이 효과가 없었는지 알려주세요. 이 도구가 연구에 어떻게 도움이 되었는지 이야기를 공유해 보세요. 여러분의 의견이 많을수록 모두를 위한 더 나은 도구를 만들 수 있습니다!
기여해 주셔서 감사합니다!
MIT 라이센스
Copyright (c) [2023] [Originality.AI]
본 소프트웨어 및 관련 문서 파일("소프트웨어")의 사본을 취득한 사람에게는 사용, 복사, 수정, 배포 권한을 포함하되 이에 국한되지 않는 제한 없이 소프트웨어를 취급할 수 있는 권한이 무료로 부여됩니다. , 소프트웨어 사본을 재라이센스 부여 및/또는 판매하고, 소프트웨어를 제공받은 사람에게 다음 조건에 따라 그렇게 할 수 있도록 허용합니다.
위의 저작권 고지와 본 허가 고지는 소프트웨어의 모든 사본 또는 상당 부분에 포함됩니다.
소프트웨어는 상품성, 특정 목적에의 적합성 및 비침해에 대한 보증을 포함하되 이에 국한되지 않고 명시적이든 묵시적이든 어떠한 종류의 보증 없이 "있는 그대로" 제공됩니다. 어떠한 경우에도 작성자나 저작권 보유자는 계약, 불법 행위 또는 기타 행위로 인해 소프트웨어나 사용 또는 기타 거래와 관련하여 발생하는 모든 청구, 손해 또는 기타 책임에 대해 책임을 지지 않습니다. 소프트웨어.