tester / app /main.py
flora0420's picture
alignment
09e6da5
raw
history blame contribute delete
770 Bytes
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
from model import convert, predict
app = FastAPI()
# pydantic models
class StockIn(BaseModel):
ticker: str
days: int
class StockOut(StockIn):
forecast: dict
# routes
@app.get("/ping")
async def pong():
return {"ping": "pong!"}
@app.post("/predict", response_model=StockOut, status_code=200)
def get_prediction(payload: StockIn):
ticker = payload.ticker
days = payload.days
prediction_list = predict(ticker, days)
if not prediction_list:
raise HTTPException(status_code=400, detail="Model not found.")
response_object = {
"ticker": ticker,
"days": days,
"forecast": convert(prediction_list)}
return response_object