from transformers import pipeline from sentence_transformers import SentenceTransformer, util # Load models once summarizer = pipeline("summarization", model="sshleifer/distilbart-cnn-12-6") grammar_tool = language_tool_python.LanguageTool('en-US') similarity_model = SentenceTransformer('all-MiniLM-L6-v2') def get_summary(text): return summarizer(text, max_length=150, min_length=30, do_sample=False)[0]['summary_text'] def check_grammar(text): matches = grammar_tool.check(text) return language_tool_python.utils.correct(text, matches) def detect_plagiarism(text1, text2): embeddings = similarity_model.encode([text1, text2]) cosine_sim = util.cos_sim(embeddings[0], embeddings[1]).item() return f"Similarity score: {cosine_sim:.4f}"