comma-fixer / app.py
klasocki's picture
Migrate to FastAPI from Flask, Docker works
f42ec01
raw
history blame
1.02 kB
import uvicorn
from fastapi import FastAPI, HTTPException
from src.baseline import BaselineCommaFixer
import logging
logger = logging.Logger(__name__)
logging.basicConfig(level=logging.INFO)
app = FastAPI() #TODO router?
logger.info('Loading the baseline model...')
app.baseline_model = BaselineCommaFixer()
@app.get('/')
async def root():
return ("Welcome to the comma fixer. Send a POST request to /fix-commas or /baseline/fix-commas with a string "
"'s' in the JSON body to try "
"out the functionality.")
@app.post('/baseline/fix-commas/')
async def fix_commas_with_baseline(data: dict):
json_field_name = 's'
if json_field_name in data:
logger.debug('Fixing commas.')
return {json_field_name: app.baseline_model.fix_commas(data['s'])}
else:
msg = f"Text '{json_field_name}' missing"
logger.debug(msg)
raise HTTPException(status_code=400, detail=msg)
if __name__ == '__main__':
uvicorn.run("app:app", reload=True, port=8000)