import gradio as gr from sentence_transformers import SentenceTransformer, util model = SentenceTransformer("sentence-transformers/all-MiniLM-L6-v2") def compute_similarity(text1, text2): if not text1.strip() or not text2.strip(): return { "similarity_percent": 0, "score": 0, "message": "Both text fields are required." } emb1 = model.encode(text1, convert_to_tensor=True) emb2 = model.encode(text2, convert_to_tensor=True) score = float(util.cos_sim(emb1, emb2)) percent = round(score * 100, 2) return { "similarity_percent": percent, "score": score, "message": "Success" } iface = gr.Interface( fn=compute_similarity, inputs=[gr.Textbox(lines=5), gr.Textbox(lines=5)], outputs="json", title="Writenix Similarity Engine" ) iface.launch()