[+] add app component for transform

1. use FastAPI Depends to initialize
    Summarizer once for the whole transform app;
This commit is contained in:
Siarhei Siniak 2025-07-25 10:40:17 +03:00
parent d6e1424d89
commit 491d272304
2 changed files with 32 additions and 1 deletions

@ -0,0 +1,31 @@
import fastapi
from . import views
from .worker import Summarizer
from typing import (Annotated,)
async def create_summarizer(
) -> Summarizer:
return Summarizer()
async def summarizer_dependency(
summarizer: Annotated[
Summarizer, fastapi.Depends(create_summarizer)
]
) -> None:
pass
def get_app_router() -> fastapi.APIRouter:
router = fastapi.APIRouter(
dependencies=[
fastapi.Depends(summarizer_dependency,)
]
)
router.include_router(
views.router,
prefix='',
)
return router

@ -12,7 +12,7 @@ async def summarize(
list[str],
fastapi.Body(),
],
summarizer: Summarizer
summarizer: Summarizer,
) -> schema.Summary:
return schema.Summary(
data=summarizer.summarize(