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() |