summaryapi / main.py
quyip
fix
0917f84
raw
history blame
1.04 kB
from typing import List
from typing_extensions import TypedDict
from fastapi import FastAPI
from pydantic import BaseModel
from summary import summarize
KEY = 'J9l#K4wP5h@2'
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}
class SummaryReq(BaseModel):
key: str
id: str
text: str
@app.post("/summary/")
async def summary(request: SummaryReq):
if request.key != KEY:
return 'Unauthorized'
return summarize(request.id, request.text)
class Page(TypedDict):
id: str
text: str
class SummariesReq(BaseModel):
key: str
pages: List[Page]
@app.post("/summaries/")
async def summaries(request: SummariesReq):
if request.key != KEY:
return 'Unauthorized'
result = []
print('process pages: ' + str(len(request.pages)))
for page in request.pages:
try:
print(page['id'])
result.append(await summarize(page['id'], page['text']))
except Exception as e:
print(e)
return result