From ca88bc67c4bc4ce9278eecfb5588fb9edfe2f5a0 Mon Sep 17 00:00:00 2001 From: sauravniraula Date: Mon, 1 Sep 2025 11:06:07 +0545 Subject: [PATCH] fix(fastapi): fix flow for outlines generation if chunker fails --- servers/fastapi/api/v1/ppt/endpoints/outlines.py | 8 +++----- servers/fastapi/api/v1/ppt/endpoints/presentation.py | 12 ++++++++---- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/servers/fastapi/api/v1/ppt/endpoints/outlines.py b/servers/fastapi/api/v1/ppt/endpoints/outlines.py index 13b94380..1eb24912 100644 --- a/servers/fastapi/api/v1/ppt/endpoints/outlines.py +++ b/servers/fastapi/api/v1/ppt/endpoints/outlines.py @@ -55,11 +55,9 @@ async def stream_outlines( slides=[chunk.to_slide_outline() for chunk in chunks] ) except Exception as e: - raise HTTPException( - status_code=400, - detail="Failed to generate presentation outlines. Please try again.", - ) - else: + pass + + elif documents: additional_context = "\n\n".join(documents) if not presentation_outlines: diff --git a/servers/fastapi/api/v1/ppt/endpoints/presentation.py b/servers/fastapi/api/v1/ppt/endpoints/presentation.py index 29da8cc4..1fcec4ba 100644 --- a/servers/fastapi/api/v1/ppt/endpoints/presentation.py +++ b/servers/fastapi/api/v1/ppt/endpoints/presentation.py @@ -362,10 +362,14 @@ async def generate_presentation_api( if documents and len(documents) == 1: additional_context = documents[0] chunker = ScoreBasedChunker() - chunks = await chunker.get_n_chunks(documents[0], request.n_slides) - presentation_outlines = PresentationOutlineModel( - slides=[chunk.to_slide_outline() for chunk in chunks] - ) + try: + chunks = await chunker.get_n_chunks(documents[0], request.n_slides) + presentation_outlines = PresentationOutlineModel( + slides=[chunk.to_slide_outline() for chunk in chunks] + ) + except Exception as e: + pass + elif documents: additional_context = "\n\n".join(documents)