Esta herramienta le permite probar la precisión de varios detectores de IA. Es una herramienta de línea de comandos diseñada para facilitar la prueba de una gran cantidad de detectores al mismo tiempo utilizando los mismos datos.
La herramienta toma un conjunto de archivos de texto y los ejecuta a través de varios detectores de IA. Luego envía los resultados a un archivo CSV. La herramienta también genera una matriz de confusión para mostrar la precisión de los detectores. Pero ¿qué es una matriz de confusión? Una matriz de confusión es una tabla que se utiliza para describir el rendimiento de un modelo de clasificación. Muestra la cantidad de predicciones correctas e incorrectas realizadas por el modelo de clasificación en comparación con los resultados reales. Esta tabla es extremadamente útil para comparar el rendimiento de diferentes detectores, ya que mostrará los verdaderos positivos, falsos positivos, verdaderos negativos y falsos negativos de cada detector. Esto le permite ver qué detectores son los más precisos.
pip install -r requirements.txt
python main.py
Flujo de trabajo de muestra:
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
para generar la matriz de confusión. La herramienta espera que los datos estén en archivos .txt en una carpeta que se pasa a la herramienta cuando se ejecuta. O si intenta procesar un archivo csv, espera que las columnas estén en el siguiente orden:
text,dataset,label
sample text,gpt-3,ai
La columna del conjunto de datos puede ser simplemente 'ai' o 'humano'. Esta columna se usa para nombrar las filas en la salida.
Para agregar un detector debe hacer lo siguiente:
detectors.py
en el siguiente formato: "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
¡Agradecemos las contribuciones a este proyecto! A continuación se muestran algunas formas en las que puede ayudar:
Si encuentra un error, infórmelo abriendo un problema de GitHub. Asegúrese de incluir:
Esta información nos ayudará a diagnosticar y corregir el error más rápido.
¡Siempre estamos buscando formas de mejorar la herramienta! Si tiene una idea para una mejora, abra una incidencia de GitHub y descríbala:
Si desea contribuir directamente con código:
Asegúrese de que su RP cumpla con lo siguiente:
Queremos conocer su experiencia al utilizar la herramienta, buena y mala. Háganos saber qué funcionó y qué no. Comparta historias sobre cómo esta herramienta le ha ayudado en su investigación. ¡Cuanto más sepamos de usted, mejor podremos hacer que la herramienta sea para todos!
¡Gracias por contribuir!
Licencia MIT
Copyright (c) [2023] [Originalidad.AI]
Por el presente se otorga permiso, sin cargo, a cualquier persona que obtenga una copia de este software y los archivos de documentación asociados (el "Software"), para operar con el Software sin restricciones, incluidos, entre otros, los derechos de uso, copia, modificación y distribución. , sublicenciar y/o vender copias del Software, y permitir que las personas a quienes se les proporciona el Software lo hagan, sujeto a las siguientes condiciones:
El aviso de derechos de autor anterior y este aviso de permiso se incluirán en todas las copias o partes sustanciales del Software.
EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO PERO NO LIMITADO A LAS GARANTÍAS DE COMERCIABILIDAD, IDONEIDAD PARA UN PROPÓSITO PARTICULAR Y NO INFRACCIÓN. EN NINGÚN CASO LOS AUTORES O TITULARES DE DERECHOS DE AUTOR SERÁN RESPONSABLES DE NINGÚN RECLAMO, DAÑO U OTRA RESPONSABILIDAD, YA SEA EN UNA ACCIÓN CONTRACTUAL, AGRAVIO O DE OTRA MANERA, QUE SURJA DE, FUERA DE O EN RELACIÓN CON EL SOFTWARE O EL USO U OTRAS NEGOCIOS EN EL SOFTWARE.