from .model_loader import load_model from .logging_config import logger def summarize_text(text): try: if not text or len(text.strip()) < 10: return "No text to summarize." summarizer = load_model("summarization", "sshleifer/distilbart-cnn-6-6") # Use the smaller model here too input_length = len(text.split()) max_length = max(50, min(150, input_length // 2)) min_length = max(20, input_length // 4) summary = summarizer(text[:2000], max_length=max_length, min_length=min_length, do_sample=False) return summary[0]['summary_text'] except Exception as e: logger.error(f"Error summarizing text: {str(e)}") return text[:200] + "..." if len(text) > 200 else text