Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import torch | |
| from transformers import AutoTokenizer, AutoModelForSequenceClassification | |
| from transformers import Trainer, TrainingArguments, EarlyStoppingCallback | |
| barthez_tokenizer = AutoTokenizer.from_pretrained("moussaKam/barthez") | |
| model = AutoModelForSequenceClassification.from_pretrained("Anvil-ML/detecteur-ia") | |
| def interpret_pred(pred): | |
| low_bond = -6.748472 | |
| high_bound = 6.7176056 | |
| result = "IA" if pred.argmax(dim=-1).item() == 1 else "Humain" | |
| pred_value = pred[0][1].item() | |
| interpreted_pred = (pred_value - low_bond) / (high_bound - low_bond) | |
| is_ai_percent = round(100 * interpreted_pred) | |
| return result, is_ai_percent | |
| def interpret_pred_with_sensibility(pred): | |
| low_bond = -6.748472 | |
| high_bound = 6.7176056 | |
| pred_value = pred[0][1].item() | |
| interpreted_pred = (pred_value - low_bond) / (high_bound - low_bond) | |
| if interpreted_pred < 0.5: | |
| proba = "très faible" | |
| elif interpreted_pred < 0.6: | |
| proba = "faible" | |
| elif interpreted_pred < 0.8: | |
| proba = "modérée" | |
| elif interpreted_pred < 0.95: | |
| proba = "élevée" | |
| else: | |
| proba = "très élevée" | |
| return proba | |
| def main(Texte): | |
| input_ids = torch.tensor( | |
| [barthez_tokenizer.encode(Texte, truncation=True, padding=True, add_special_tokens=True)] | |
| ) | |
| predict = model.forward(input_ids)[0] | |
| #result = ( | |
| # "Résultat : {}.\nCe texte a {}% de chances d'avoir été généré par de l'IA" | |
| # .format(interpret_pred(predict)[0], interpret_pred(predict)[1]) | |
| #) | |
| proba = interpret_pred_with_sensibility(predict) | |
| Resultat = ( | |
| "La probabilité que ce texte a été généré par de l'IA est {}" | |
| .format(proba) | |
| ) | |
| return Resultat | |
| iface = gr.Interface(fn=main, inputs="text", outputs="text") | |
| iface.launch() |