このツールを使用すると、さまざまな AI 検出器の精度をテストできます。これは、同じデータを使用して多数の検出器を同時に簡単にテストできるように設計されたコマンド ライン ツールです。
このツールは一連のテキスト ファイルを取得し、それらを多数の AI 検出器を通じて実行します。次に、結果を CSV ファイルに出力します。このツールは、検出器の精度を示す混同行列も生成します。しかし、混同行列とは何でしょうか?混同行列は、分類モデルのパフォーマンスを説明するために使用される表です。実際の結果と比較して、分類モデルによって行われた正しい予測と不正確な予測の数を示します。この表は、各検出器の真陽性、偽陽性、真陰性、および偽陰性を示すため、さまざまな検出器のパフォーマンスを比較するのに非常に役立ちます。これにより、どの検出器が最も正確であるかを確認できます。
Python 3.9以降
テストする検出器の API キー
このリポジトリのクローンを作成するか、zip ファイルをダウンロードします
pip install -r requirements.txt
を使用して要件をインストールします。
テストする検出器の API キーをメモします。
python main.py
使用してツールを実行します。
プロンプトが表示されたら、ツールの指示に従って API キーを追加します
このツールは検出機能を実行し、結果を CSV ファイルに出力します。
サンプルワークフロー:
Python main.py Y/N と入力して、Originality.ai API: y を選択します。 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 DOCS
Copyleaks DOCS - API キーの設定は他の検出器よりも少し複雑であるため、Copyleaks の手順に従ってください。
このプロジェクトへの貢献を歓迎します。以下に役立つ方法をいくつか紹介します。
バグを見つけた場合は、GitHub の問題を開いて報告してください。必ず以下を含めてください。
バグを再現する手順
期待される動作
実際の動作
この情報は、バグをより迅速に診断して修正するのに役立ちます。
私たちはツールを改善する方法を常に探しています。機能強化のアイデアがある場合は、GitHub の問題を開いて次のように説明してください。
現在の動作
提案した変更とそれが役立つ理由
使用例の例
コードを直接貢献したい場合:
リポジトリをフォークする
フォークのクローンを作成する
ブランチに変更を加える
明確で簡潔なコミットメッセージを書く
メインに対してプルリクエストを開く
PR が以下を遵守していることを確認してください。
コードがクリーンで適切にフォーマットされている
必要に応じてドキュメントが更新されます
コミットメッセージは明確かつ詳細です
このツールを使用した感想を、良い点も悪い点も含めて聞かせてください。何がうまくいき、何がうまくいかなかったのか教えてください。このツールが研究にどのように役立ったかについてのストーリーを共有してください。皆様からのご意見が多ければ多いほど、すべての人にとってより良いツールを作ることができます。
ご協力いただきありがとうございます!
MITライセンス
著作権 (c) [2023] [Originality.AI]
本ソフトウェアおよび関連ドキュメント ファイル (以下「ソフトウェア」) のコピーを入手した者には、使用、コピー、変更、配布する権利を含むがこれらに限定されない、制限なくソフトウェアを取り扱う許可が無償で与えられます。以下の条件を条件として、本ソフトウェアのコピーをサブライセンスし、および/または販売すること、および本ソフトウェアが提供される人物にそのことを許可することはできません。
上記の著作権表示およびこの許可通知は、ソフトウェアのすべてのコピーまたは主要部分に含まれるものとします。
ソフトウェアは「現状のまま」提供され、明示的か黙示的かを問わず、商品性、特定目的への適合性、および非侵害の保証を含むがこれらに限定されない、いかなる種類の保証も行われません。いかなる場合においても、作者または著作権所有者は、契約行為、不法行為、またはその他の行為であるかどうかにかかわらず、ソフトウェアまたはソフトウェアの使用またはその他の取引に起因または関連して生じる、いかなる請求、損害、またはその他の責任に対しても責任を負わないものとします。ソフトウェア。