Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import numpy as np | |
| import torch | |
| from transformers import AutoModelForSequenceClassification, AutoTokenizer, pipeline | |
| # Load fine-tuned model and tokenizer from Hugging Face Hub | |
| model_name = "AICodexLab/answerdotai-ModernBERT-base-ai-detector" | |
| # Load model and tokenizer | |
| tokenizer = AutoTokenizer.from_pretrained(model_name) | |
| model = AutoModelForSequenceClassification.from_pretrained(model_name) | |
| # Use pipeline for text classification | |
| classifier = pipeline( | |
| "text-classification", | |
| model=model, | |
| tokenizer=tokenizer, | |
| device=0 if torch.cuda.is_available() else -1, | |
| ) | |
| # Define function for real-time AI text detection | |
| def predict_ai_text(input_text): | |
| result = classifier(input_text) | |
| label = "AI-Generated" if result[0]["label"] == "LABEL_1" else "Human-Written" | |
| confidence = np.round(result[0]["score"], 3) | |
| return f"{label} (Confidence: {confidence})" | |
| # Create Gradio interface | |
| app = gr.Interface( | |
| fn=predict_ai_text, | |
| inputs=gr.Textbox(lines=5, placeholder="Enter your text here..."), | |
| outputs=gr.Textbox(), | |
| title="AI Text Detector", | |
| description="Detect whether a given text is AI-generated or human-written.", | |
| allow_flagging="never", | |
| ) | |
| # Launch app | |
| if __name__ == "__main__": | |
| app.launch() | |