Spaces:
Runtime error
Runtime error
from .model_loader import load_model | |
from .logging_config import logger | |
def summarize_text(text): | |
try: | |
if not isinstance(text, str): | |
logger.warning(f"Input to summarize_text is not a string: {type(text)}") | |
text = str(text) if text is not None else "" | |
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 isinstance(text, str) and len(text) > 200 else (text if isinstance(text, str) else "Summary unavailable.") |