from fastapi import FastAPI, BackgroundTasks from utils.cache_layer import get_summarize_from_cache, summarize_un_cache_page from utils.data_proto import SummaryReq, SummariesReq from utils.summary_utils import summarize KEY = 'J9l#K4wP5h@2' app = FastAPI() @app.get("/") async def root(): return {"message": "Hello World"} @app.post("/summary/") async def summary(request: SummaryReq): if request.key != KEY: return 'Unauthorized' return summarize(request.id, request.text) @app.post("/summaries/") async def summaries(background_tasks: BackgroundTasks, request: SummariesReq): if request.key != KEY: return 'Unauthorized' pages_summaries, uncached_pages = get_summarize_from_cache(request.pages) print(f'processing cached pages: {len(pages_summaries)}, uncached pages: {len(uncached_pages)}') background_tasks.add_task(summarize_un_cache_page, uncached_pages) print('return') return pages_summaries