Mit diesem Tool können Sie die Genauigkeit verschiedener KI-Detektoren testen. Dabei handelt es sich um ein Befehlszeilentool, das das gleichzeitige Testen einer großen Anzahl von Detektoren mit denselben Daten erleichtert.
Das Tool nimmt eine Reihe von Textdateien und führt sie durch eine Reihe von KI-Detektoren. Anschließend werden die Ergebnisse in eine CSV-Datei ausgegeben. Das Tool generiert außerdem eine Verwirrungsmatrix, um die Genauigkeit der Detektoren anzuzeigen. Aber was ist eine Verwirrungsmatrix? Eine Verwirrungsmatrix ist eine Tabelle, die zur Beschreibung der Leistung eines Klassifizierungsmodells verwendet wird. Es zeigt die Anzahl der richtigen und falschen Vorhersagen des Klassifizierungsmodells im Vergleich zu den tatsächlichen Ergebnissen. Diese Tabelle ist äußerst nützlich, um die Leistung verschiedener Detektoren zu vergleichen, da sie die echten positiven, falsch positiven, echten negativen und falschen negativen Ergebnisse für jeden Detektor anzeigt. Dadurch können Sie sehen, welche Detektoren am genauesten sind.
Python 3.9 oder höher
API-Schlüssel für die Detektoren, die Sie testen möchten
Klonen Sie dieses Repository oder laden Sie die ZIP-Datei herunter
Installieren Sie die Anforderungen mit pip install -r requirements.txt
Notieren Sie sich Ihre API-Schlüssel für die Detektoren, die Sie testen möchten
Führen Sie das Tool mit python main.py
aus
Befolgen Sie die Anweisungen im Tool und fügen Sie Ihre API-Schlüssel hinzu, wenn Sie dazu aufgefordert werden
Das Tool führt die Detektoren aus und gibt die Ergebnisse in eine CSV-Datei aus
Beispielworkflow:
Python main.py Geben Sie Y/N ein, um die Originality.ai-API auszuwählen: y Geben Sie Ihren Originality.ai-API-Schlüssel ein: YOUR_API_KEY Geben Sie den Verzeichnispfad für AI-Textdateien ein: data/ai/ Geben Sie den Verzeichnispfad für menschliche Textdateien ein: data/human/ Geben Sie den Pfad der Eingabe-CSV-Datei ein: data/input.csv Geben Sie den Namen der Ausgabe-CSV-Datei ein: Ausgabe.csv Das Tool verarbeitet die Daten. Dies kann eine Weile dauern. Möchten Sie eine Verwirrungsmatrix erstellen? (j/n): j Drücken Sie die Eingabetaste, um den Vorgang zu beenden...
Das Tool führt nur die Detektoren aus, für die Sie API-Schlüssel haben
Wenn Sie nach Abschluss des Tools nicht aufgefordert werden, eine Verwirrungsmatrix zu generieren, oder die Generierung fehlschlägt, führen Sie python matrix.py
aus, um die Verwirrungsmatrix zu generieren
Das Tool erwartet, dass sich die Daten in TXT-Dateien in einem Ordner befinden, der bei der Ausführung an das Tool übergeben wird. Oder wenn Sie versuchen, eine CSV-Datei zu verarbeiten, wird erwartet, dass die Spalten in der folgenden Reihenfolge vorliegen:
text,dataset,label
sample text,gpt-3,ai
Die Datensatzspalte kann einfach „ai“ oder „human“ sein. Diese Spalte wird zur Benennung der Zeilen in der Ausgabe verwendet
Um einen Detektor hinzuzufügen, müssen Sie Folgendes tun:
Suchen Sie nach der API-Dokumentation für Detektoren
Finden Sie den Endpunkt für den Detektor
Suchen Sie die für den Endpunkt erforderlichen Parameter
Fügen Sie den Detektor im folgenden Format zur Datei detectors.py
hinzu:
"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 – Um eine bestimmte Version anzugeben, überprüfen Sie bitte die Dokumente und fügen Sie sie an der entsprechenden Stelle in der Datei api_endpoints.py
hinzu
Sapling.ai DOCS
GPTZero DOCS – Um eine bestimmte Version anzugeben, überprüfen Sie bitte die Dokumente und fügen Sie sie an der entsprechenden Stelle in der Datei api_endpoints.py
hinzu
Writer.com DOCS
Copyleaks DOCS – Bitte befolgen Sie die Anweisungen von Copyleaks zum Einrichten des API-Schlüssels, da dieser etwas komplizierter ist als die anderen Detektoren
Wir freuen uns über Beiträge zu diesem Projekt! Hier sind einige Möglichkeiten, wie Sie helfen können:
Wenn Sie einen Fehler finden, melden Sie ihn bitte, indem Sie ein GitHub-Problem öffnen. Stellen Sie sicher, dass Sie Folgendes angeben:
Schritte zum Reproduzieren des Fehlers
Erwartetes Verhalten
Tatsächliches Verhalten
Diese Informationen helfen uns, den Fehler schneller zu diagnostizieren und zu beheben.
Wir sind immer auf der Suche nach Möglichkeiten, das Tool zu verbessern! Wenn Sie eine Idee für eine Verbesserung haben, öffnen Sie ein GitHub-Problem und beschreiben Sie Folgendes:
Das aktuelle Verhalten
Ihre vorgeschlagene Änderung und warum sie nützlich wäre
Ein Beispielanwendungsfall
Wenn Sie Code direkt beitragen möchten:
Forken Sie das Repo
Klonen Sie Ihre Gabel
Nehmen Sie Änderungen an einem Zweig vor
Schreiben Sie eine klare, prägnante Commit-Nachricht
Öffnen Sie eine Pull-Anfrage für main
Stellen Sie sicher, dass Ihre PR Folgendes einhält:
Der Code ist sauber und gut formatiert
Die Dokumentation wird bei Bedarf aktualisiert
Commit-Nachrichten sind klar und detailliert
Wir möchten von Ihren Erfahrungen mit dem Tool erfahren – gute und schlechte. Lassen Sie uns wissen, was funktioniert hat und was nicht. Teilen Sie Geschichten darüber, wie dieses Tool Ihre Forschung unterstützt hat. Je mehr wir von Ihnen hören, desto besser können wir das Tool für alle entwickeln!
Vielen Dank für Ihren Beitrag!
MIT-Lizenz
Copyright (c) [2023] [Originality.AI]
Hiermit wird jeder Person, die eine Kopie dieser Software und der zugehörigen Dokumentationsdateien (die „Software“) erhält, kostenlos die Erlaubnis erteilt, mit der Software ohne Einschränkung zu handeln, einschließlich und ohne Einschränkung der Rechte zur Nutzung, Vervielfältigung, Änderung und Verbreitung , Unterlizenzen zu erteilen und/oder Kopien der Software zu verkaufen und Personen, denen die Software zur Verfügung gestellt wird, dies zu gestatten, vorbehaltlich der folgenden Bedingungen:
Der obige Urheberrechtshinweis und dieser Genehmigungshinweis müssen in allen Kopien oder wesentlichen Teilen der Software enthalten sein.
DIE SOFTWARE WIRD „WIE BESEHEN“ ZUR VERFÜGUNG GESTELLT, OHNE JEGLICHE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GEWÄHRLEISTUNG, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF DIE GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT, EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND NICHTVERLETZUNG. IN KEINEM FALL SIND DIE AUTOREN ODER URHEBERRECHTSINHABER HAFTBAR FÜR JEGLICHE ANSPRÜCHE, SCHÄDEN ODER ANDERE HAFTUNG, WEDER AUS EINER VERTRAGLICHEN HANDLUNG, AUS HANDLUNG ODER ANDERWEITIG, DIE SICH AUS, AUS ODER IN ZUSAMMENHANG MIT DER SOFTWARE ODER DER NUTZUNG ODER ANDEREN HANDELN IN DER SOFTWARE ERGEBEN SOFTWARE.