from fastapi import FastAPI from fastapi.requests import Request from fastapi.responses import HTMLResponse from fastapi.staticfiles import StaticFiles from fastapi.templating import Jinja2Templates from models.Interpretador import Interpretador from requestsBaseModels.InterpretadorRequestBaseModel import InterpretadorRequestBaseModel from responsesBaseModels.InterpretadorResponseBaseModel import InterpretadorResponseBaseModel app = FastAPI() app.mount("/static", StaticFiles(directory="static"), name="static") templates = Jinja2Templates(directory="templates") @app.get('/', response_class=HTMLResponse) async def main(request: Request): context = {"request": request} response = templates.TemplateResponse("index.html", context) return response @app.post('/', response_model=InterpretadorResponseBaseModel) async def responder(request: InterpretadorRequestBaseModel): texto = request.texto pergunta = request.pergunta interpretador = Interpretador(texto, pergunta) resposta = interpretador.resposta response = InterpretadorResponseBaseModel(resposta=resposta) return response if __name__ == "__main__": import uvicorn uvicorn.run(app, host="0.0.0.0", port=7860)