| from fastapi import APIRouter, Request | |
| from app.core.summarizer import get_summary | |
| import logging | |
| router = APIRouter() | |
| async def summarize(request: Request): | |
| try: | |
| data = await request.json() | |
| text = data.get("text", "") | |
| logging.info(f"Received text of length {len(text)}") | |
| if not text or len(text.strip()) < 30: | |
| logging.warning("Text too short to summarize.") | |
| return {"summary": "Text too short to summarize."} | |
| summary = get_summary(text) | |
| logging.info("Summary generated successfully.") | |
| logging.info(f"Summary: {summary[:250]}...") # Log first 250 chars | |
| return {"summary": summary} | |
| except Exception as e: | |
| logging.exception("Error in /summarize route") | |
| return {"error": str(e)} | |