Alat ini memungkinkan Anda menguji keakuratan berbagai detektor AI. Ini adalah alat baris perintah yang dirancang untuk memudahkan pengujian sejumlah besar detektor secara bersamaan menggunakan data yang sama.
Alat ini mengambil sekumpulan file teks dan menjalankannya melalui sejumlah detektor AI. Kemudian menampilkan hasilnya ke file CSV. Alat ini juga menghasilkan matriks konfusi untuk menunjukkan keakuratan detektor. Tapi apa itu matriks konfusi? Matriks konfusi adalah tabel yang digunakan untuk menggambarkan kinerja model klasifikasi. Ini menunjukkan jumlah prediksi benar dan salah yang dibuat oleh model klasifikasi dibandingkan dengan hasil sebenarnya. Tabel ini sangat berguna untuk membandingkan kinerja berbagai detektor karena akan menunjukkan positif sebenarnya, positif palsu, negatif benar, dan negatif palsu untuk setiap detektor. Ini memungkinkan Anda melihat detektor mana yang paling akurat.
pip install -r requirements.txt
python main.py
Contoh alur kerja:
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
untuk menghasilkan matriks konfusi Alat ini mengharapkan data berada dalam file .txt dalam folder yang diteruskan ke alat saat dijalankan. Atau jika Anda mencoba memproses file csv, kolomnya diharapkan berada dalam urutan berikut:
text,dataset,label
sample text,gpt-3,ai
Kolom kumpulan data bisa berupa 'ai' atau 'manusia'. Kolom ini digunakan untuk memberi nama baris pada keluaran
Untuk menambahkan detektor, Anda perlu melakukan hal berikut:
detectors.py
dalam format berikut: "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
Kami menyambut kontribusi untuk proyek ini! Berikut beberapa cara yang dapat Anda bantu:
Jika Anda menemukan bug, harap laporkan dengan membuka masalah GitHub. Pastikan untuk menyertakan:
Informasi ini akan membantu kami mendiagnosis dan memperbaiki bug dengan lebih cepat.
Kami selalu mencari cara untuk meningkatkan alat ini! Jika Anda memiliki ide untuk penyempurnaan, buka terbitan GitHub dan jelaskan:
Jika Anda ingin menyumbangkan kode secara langsung:
Pastikan PR Anda mematuhi hal-hal berikut:
Kami ingin mendengar pengalaman Anda menggunakan alat ini - baik dan buruknya. Beri tahu kami apa yang berhasil dan apa yang tidak. Bagikan cerita tentang bagaimana alat ini membantu penelitian Anda. Semakin banyak kami mendengar pendapat Anda, semakin baik kami dapat membuat alat ini untuk semua orang!
Terima kasih telah berkontribusi!
Lisensi MIT
Hak Cipta (c) [2023] [Originalitas.AI]
Izin dengan ini diberikan, secara gratis, kepada siapa pun yang memperoleh salinan perangkat lunak ini dan file dokumentasi terkait (“Perangkat Lunak”), untuk menggunakan Perangkat Lunak tanpa batasan, termasuk namun tidak terbatas pada hak untuk menggunakan, menyalin, memodifikasi, mendistribusikan , mensublisensikan, dan/atau menjual salinan Perangkat Lunak, dan mengizinkan orang yang menerima Perangkat Lunak untuk melakukan hal tersebut, dengan tunduk pada ketentuan berikut:
Pemberitahuan hak cipta di atas dan pemberitahuan izin ini akan disertakan dalam semua salinan atau sebagian besar Perangkat Lunak.
PERANGKAT LUNAK INI DISEDIAKAN "APA ADANYA", TANPA JAMINAN APA PUN, TERSURAT MAUPUN TERSIRAT, TERMASUK NAMUN TIDAK TERBATAS PADA JAMINAN KELAYAKAN UNTUK DIPERDAGANGKAN, KESESUAIAN UNTUK TUJUAN TERTENTU, DAN TIDAK ADA PELANGGARAN. DALAM KEADAAN APA PUN PENULIS ATAU PEMEGANG HAK CIPTA TIDAK BERTANGGUNG JAWAB ATAS KLAIM, KERUSAKAN ATAU TANGGUNG JAWAB LAINNYA, BAIK DALAM TINDAKAN KONTRAK, HUKUM ATAU LAINNYA, YANG TIMBUL DARI, DARI ATAU SEHUBUNGAN DENGAN PERANGKAT LUNAK ATAU PENGGUNAAN ATAU HAL-HAL LAIN DALAM PERANGKAT LUNAK.