تتيح لك هذه الأداة اختبار دقة أجهزة كشف الذكاء الاصطناعي المختلفة. إنها أداة سطر أوامر مصممة لتسهيل اختبار عدد كبير من أجهزة الكشف في نفس الوقت باستخدام نفس البيانات.
تأخذ الأداة مجموعة من الملفات النصية وتقوم بتشغيلها من خلال عدد من أجهزة كشف الذكاء الاصطناعي. ثم يقوم بإخراج النتائج إلى ملف 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 وقم بوصفها:
إذا كنت تريد المساهمة بالكود مباشرة:
تأكد من التزام العلاقات العامة الخاصة بك بما يلي:
نريد أن نسمع عن تجربتك في استخدام الأداة - الجيدة منها والسيئة. اسمحوا لنا أن نعرف ما الذي نجح وما لم ينجح. شارك قصصًا حول كيفية مساعدة هذه الأداة في بحثك. كلما سمعنا منك أكثر، كلما تمكنا من توفير الأداة للجميع بشكل أفضل!
شكرا للمساهمة!
رخصة معهد ماساتشوستس للتكنولوجيا
حقوق الطبع والنشر (ج) [2023] [Original.AI]
يُمنح الإذن مجانًا لأي شخص يحصل على نسخة من هذا البرنامج وملفات الوثائق المرتبطة به ("البرنامج")، للتعامل في البرنامج دون قيود، بما في ذلك، على سبيل المثال لا الحصر، حقوق الاستخدام والنسخ والتعديل والتوزيع. وترخيصها من الباطن و/أو بيع نسخ من البرنامج، والسماح للأشخاص الذين تم توفير البرنامج لهم بالقيام بذلك، وفقًا للشروط التالية:
يجب تضمين إشعار حقوق الطبع والنشر أعلاه وإشعار الإذن هذا في جميع النسخ أو الأجزاء الكبيرة من البرنامج.
يتم توفير البرنامج "كما هو"، دون أي ضمان من أي نوع، صريحًا أو ضمنيًا، بما في ذلك، على سبيل المثال لا الحصر، ضمانات القابلية للتسويق والملاءمة لغرض معين وعدم الانتهاك. لا يتحمل المؤلفون أو أصحاب حقوق الطبع والنشر بأي حال من الأحوال المسؤولية عن أي مطالبة أو أضرار أو مسؤولية أخرى، سواء في إجراء العقد أو الضرر أو غير ذلك، الناشئة عن أو خارج أو فيما يتعلق بالبرنامج أو الاستخدام أو المعاملات الأخرى في برمجة.