FinSightAI / backend /routers /summarize.py
Aniket2003333333's picture
start
7248d39
Raw
History Blame Contribute Delete
799 Bytes
"""Document summarization endpoint."""
import asyncio
from typing import Optional
from fastapi import APIRouter, Depends
from pydantic import BaseModel
router = APIRouter(prefix="/api")
class SummarizeRequest(BaseModel):
document_id: Optional[str] = None
text: Optional[str] = None
summary_type: str = "financial"
def get_summarizer():
from core.bootstrap import get_summarizer_service as _get
return _get()
@router.post("/summarize")
async def summarize(request: SummarizeRequest, summarizer=Depends(get_summarizer)):
result = await asyncio.to_thread(
summarizer.summarize,
document_id=request.document_id,
text=request.text,
summary_type=request.summary_type,
)
if "error" in result:
return result
return result