このツールを使用すると、さまざまな AI 検出器の精度をテストできます。これは、同じデータを使用して多数の検出器を同時に簡単にテストできるように設計されたコマンド ライン ツールです。
このツールは一連のテキスト ファイルを取得し、それらを多数の AI 検出器を通じて実行します。次に、結果を 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」または「human」にすることができます。この列は出力の行に名前を付けるために使用されます。
検出器を追加するには、次の操作を行う必要があります。
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 の問題を開いて次のように説明してください。
コードを直接貢献したい場合:
PR が以下を遵守していることを確認してください。
このツールを使用した感想を、良い点も悪い点も含めて聞かせてください。何がうまくいき、何がうまくいかなかったのか教えてください。このツールが研究にどのように役立ったかについてのストーリーを共有してください。皆さんからの意見が多ければ多いほど、すべての人にとってより良いツールを作ることができます。
貢献してくれてありがとう!
MITライセンス
著作権 (c) [2023] [Originality.AI]
本ソフトウェアおよび関連ドキュメント ファイル (以下「ソフトウェア」) のコピーを入手した者には、使用、コピー、変更、配布する権利を含むがこれらに限定されない、制限なくソフトウェアを取り扱う許可が無償で与えられます。以下の条件を条件として、本ソフトウェアのコピーをサブライセンスし、および/または販売すること、および本ソフトウェアが提供される人物にそのことを許可することはできません。
上記の著作権表示およびこの許可通知は、ソフトウェアのすべてのコピーまたは主要部分に含まれるものとします。
ソフトウェアは「現状のまま」提供され、明示的か黙示的かを問わず、商品性、特定目的への適合性、および非侵害の保証を含むがこれらに限定されない、いかなる種類の保証も行われません。いかなる場合においても、作者または著作権所有者は、契約行為、不法行為、またはその他の行為であるかどうかにかかわらず、ソフトウェアまたはソフトウェアの使用またはその他の取引に起因または関連して生じる、いかなる請求、損害、またはその他の責任に対しても責任を負わないものとします。ソフトウェア。