import gradio as gr from transformers import pipeline # Load pre-trained content moderation model classifier = pipeline("text-classification", model="unitary/toxic-bert", top_k=None) def analyze_content(text): if not text or len(text.strip()) == 0: return { "is_malicious": False, "risk_level": "SAFE", "confidence": "N/A", "explanation": "No text provided" } try: results = classifier(text)[0] max_score = 0 toxic_type = "none" for result in results: if result['label'] != 'neutral' and result['score'] > max_score: max_score = result['score'] toxic_type = result['label'] is_malicious = max_score > 0.5 risk_level = "HIGH" if max_score > 0.7 else ("MEDIUM" if is_malicious else "LOW") return { "is_malicious": is_malicious, "risk_level": risk_level, "confidence": f"{max_score * 100:.1f}%", "toxic_type": toxic_type, "explanation": f"Detected {toxic_type} content" if is_malicious else "Content appears safe" } except Exception as e: return { "error": str(e), "is_malicious": False, "risk_level": "ERROR" } demo = gr.Interface( fn=analyze_content, inputs=gr.Textbox(lines=5, placeholder="Enter text to analyze...", label="Content"), outputs=gr.JSON(label="Analysis Results"), title="GenZ ContentGuard AI", description="AI content moderation" ) if __name__ == "__main__": demo.launch()