Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import gradio.components as grc | |
| # from wmdetection.models import get_watermarks_detection_model | |
| # from wmdetection.pipelines.predictor import WatermarksPredictor | |
| import os, glob | |
| import spaces | |
| from transformers import AutoModelForSequenceClassification, AutoTokenizer | |
| import torch | |
| model_name = 'hyunseoki/ReMoDetect-deberta' | |
| THESHOLD=3.0 | |
| predictor = AutoModelForSequenceClassification.from_pretrained(model_name) | |
| tokenizer = AutoTokenizer.from_pretrained(model_name) | |
| predictor.eval() | |
| def predict(text): | |
| device = "cuda" if torch.cuda.is_available() else "cpu" | |
| predictor.to(device) | |
| tokenized = tokenizer(text, return_tensors='pt', truncation=True, max_length=512).to(device) | |
| with torch.no_grad(): | |
| result = predictor(**tokenized).logits[0].cpu().detach().item() | |
| AI_score = round(torch.sigmoid(torch.tensor(result-THESHOLD)*2).item(),2) | |
| return f'{AI_score*100} %', f'{round(result,2)}' | |
| iface = gr.Interface( | |
| fn=predict, | |
| title="ReMoDetect: Reward Model for LLM Generated Text Detection", | |
| description="The continuously finetuned reward model so that can classify LLM generated text from human writen text.", | |
| inputs=grc.Textbox(label='INPUT', placeholder="Type here..."), | |
| # examples=examples, | |
| outputs=[grc.Textbox(label="AI likelihood"), grc.Textbox(label="Raw score")], | |
| ) | |
| iface.launch(share=True) |