from transformers import pipeline import time # Load once at startup classifier = pipeline( "zero-shot-classification", model="valhalla/distilbart-mnli-12-3" ) summarizer = pipeline("summarization", model="sshleifer/distilbart-cnn-12-6") def analyze_article(text, title, link): t0 = time.time() result = classifier( text, candidate_labels=["analytics", "data science", "business insight"], multi_label=True ) print(f"[DEBUG] Classifier Model inference time: {time.time() - t0:.2f}s") # Summarize article text summary = summarizer(text[:1024], max_length=150, min_length=40, do_sample=False)[0]['summary_text'] print(f"[DEBUG] Summarizer Model inference time: {time.time() - t0:.2f}s") is_useful = any(label in ["analytics", "data science"] for label in result['labels'][:2]) return { "title": title, "link": link, "summary": summary, "top_label": result['labels'][0], "relevance": "Useful" if is_useful else "Not useful" }