เครื่องมือนี้ช่วยให้คุณทดสอบความแม่นยำของเครื่องตรวจจับ AI ต่างๆ เป็นเครื่องมือบรรทัดคำสั่งที่ออกแบบมาเพื่อให้ง่ายต่อการทดสอบตัวตรวจจับจำนวนมากในเวลาเดียวกันโดยใช้ข้อมูลเดียวกัน
เครื่องมือนี้ใช้ชุดของไฟล์ข้อความและเรียกใช้ผ่านเครื่องตรวจจับ AI จำนวนหนึ่ง จากนั้นจะส่งออกผลลัพธ์เป็นไฟล์ CSV เครื่องมือนี้ยังสร้างเมทริกซ์ความสับสนเพื่อแสดงความแม่นยำของเครื่องตรวจจับ แต่เมทริกซ์ความสับสนคืออะไร? เมทริกซ์ความสับสนคือตารางที่ใช้อธิบายประสิทธิภาพของแบบจำลองการจำแนกประเภท โดยจะแสดงจำนวนการคาดการณ์ที่ถูกต้องและไม่ถูกต้องโดยแบบจำลองการจำแนกประเภทเปรียบเทียบกับผลลัพธ์ที่เกิดขึ้นจริง ตารางนี้มีประโยชน์อย่างมากสำหรับการเปรียบเทียบประสิทธิภาพของตัวตรวจจับต่างๆ เนื่องจากจะแสดงค่าบวกจริง ค่าบวกลวง ค่าลบจริง และค่าลบลวงสำหรับตัวตรวจจับแต่ละตัว สิ่งนี้ช่วยให้คุณเห็นว่าเครื่องตรวจจับใดแม่นยำที่สุด
Python 3.9 หรือสูงกว่า
คีย์ API สำหรับตัวตรวจจับที่คุณต้องการทดสอบ
โคลนที่เก็บนี้หรือดาวน์โหลดไฟล์ zip
ติดตั้งข้อกำหนดโดยใช้ pip install -r requirements.txt
จดบันทึกคีย์ API ของคุณสำหรับตัวตรวจจับที่คุณต้องการทดสอบ
เรียกใช้เครื่องมือโดยใช้ python main.py
ทำตามคำแนะนำในเครื่องมือโดยเพิ่มคีย์ API ของคุณเมื่อได้รับแจ้ง
เครื่องมือจะเรียกใช้ตัวตรวจจับและส่งออกผลลัพธ์เป็นไฟล์ CSV
ขั้นตอนการทำงานตัวอย่าง:
หลาม main.py พิมพ์ Y/N เพื่อเลือก Originality.ai API: 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' หรือ '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 DOCS
Copyleaks DOCS - โปรดปฏิบัติตามคำแนะนำของ Copyleaks ในการตั้งค่าคีย์ API เนื่องจากมีความซับซ้อนมากกว่าเครื่องตรวจจับอื่นๆ เล็กน้อย
เรายินดีรับการมีส่วนร่วมในโครงการนี้! ต่อไปนี้คือวิธีที่คุณสามารถช่วยได้:
หากคุณพบข้อบกพร่อง โปรดรายงานโดยเปิดปัญหา GitHub อย่าลืมรวม:
ขั้นตอนในการทำซ้ำข้อผิดพลาด
พฤติกรรมที่คาดหวัง
พฤติกรรมที่เกิดขึ้นจริง
ข้อมูลนี้จะช่วยให้เราวินิจฉัยและแก้ไขจุดบกพร่องได้เร็วขึ้น
เรามองหาวิธีปรับปรุงเครื่องมืออยู่เสมอ! หากคุณมีแนวคิดในการปรับปรุง ให้เปิดปัญหา GitHub และอธิบาย:
พฤติกรรมปัจจุบัน
การเปลี่ยนแปลงที่คุณเสนอและเหตุใดจึงจะมีประโยชน์
ตัวอย่างการใช้งาน
หากคุณต้องการสนับสนุนโค้ดโดยตรง:
แยก repo
โคลนส้อมของคุณ
ทำการเปลี่ยนแปลงในสาขา
เขียนข้อความยืนยันที่ชัดเจนและกระชับ
เปิดคำขอดึงกับหลัก
ตรวจสอบให้แน่ใจว่า PR ของคุณปฏิบัติตามสิ่งต่อไปนี้:
โค้ดสะอาดและมีรูปแบบที่ดี
เอกสารประกอบได้รับการอัพเดตหากจำเป็น
ข้อความยืนยันมีความชัดเจนและมีรายละเอียด
เราต้องการทราบเกี่ยวกับประสบการณ์ของคุณในการใช้เครื่องมือนี้ ทั้งดีและไม่ดี แจ้งให้เราทราบว่าอะไรได้ผลและอะไรไม่ได้ผล แบ่งปันเรื่องราวว่าเครื่องมือนี้ช่วยการวิจัยของคุณได้อย่างไร ยิ่งเราได้ยินจากคุณมากเท่าไร เราก็ยิ่งสามารถสร้างเครื่องมือสำหรับทุกคนได้ดีขึ้นเท่านั้น!
ขอบคุณสำหรับการมีส่วนร่วม!
ใบอนุญาตเอ็มไอที
ลิขสิทธิ์ (c) [2023] [Originality.AI]
อนุญาตให้บุคคลใดก็ตามที่ได้รับสำเนาของซอฟต์แวร์นี้และไฟล์เอกสารที่เกี่ยวข้อง ("ซอฟต์แวร์") อนุญาตโดยไม่เสียค่าใช้จ่าย เพื่อจัดการกับซอฟต์แวร์โดยไม่มีข้อจำกัด รวมถึงแต่ไม่จำกัดเพียงสิทธิ์ในการใช้ คัดลอก ปรับเปลี่ยน แจกจ่าย อนุญาตช่วง และ/หรือขายสำเนาของซอฟต์แวร์ และอนุญาตให้บุคคลที่ได้รับซอฟต์แวร์นี้ให้ทำเช่นนั้นได้ ภายใต้เงื่อนไขต่อไปนี้:
ประกาศเกี่ยวกับลิขสิทธิ์ข้างต้นและประกาศการอนุญาตนี้จะรวมอยู่ในสำเนาทั้งหมดหรือส่วนสำคัญของซอฟต์แวร์
ซอฟต์แวร์นี้มีให้ "ตามที่เป็น" โดยไม่มีการรับประกันใดๆ ทั้งโดยชัดแจ้งหรือโดยนัย ซึ่งรวมถึงแต่ไม่จำกัดเพียงการรับประกันความสามารถในการค้าขาย ความเหมาะสมสำหรับวัตถุประสงค์เฉพาะ และการไม่ละเมิด ไม่ว่าในกรณีใดผู้เขียนหรือผู้ถือลิขสิทธิ์จะต้องรับผิดต่อการเรียกร้องค่าเสียหายหรือความรับผิดอื่นใดไม่ว่าในการกระทำของสัญญาการละเมิดหรืออย่างอื่นที่เกิดขึ้นจากหรือเกี่ยวข้องกับซอฟต์แวร์หรือการใช้งานหรือข้อตกลงอื่น ๆ ใน ซอฟต์แวร์.