from fastapi import FastAPI from fastapi.staticfiles import StaticFiles from fastapi.responses import FileResponse from fastapi.templating import Jinja2Templates from transformers import MBartForConditionalGeneration, MBart50TokenizerFast model = MBartForConditionalGeneration.from_pretrained("facebook/mbart-large-50-one-to-many-mmt") tokenizer = MBart50TokenizerFast.from_pretrained("facebook/mbart-large-50-one-to-many-mmt", src_lang="en_XX") app = FastAPI() templates = Jinja2Templates(directory="templates") @app.get("/infer_t5") def t5(input): model_inputs = tokenizer(input, return_tensors="pt") # translate from English to Malayalam generated_tokens = model.generate( **model_inputs, forced_bos_token_id=tokenizer.lang_code_to_id["ml_IN"] ) output = tokenizer.batch_decode(generated_tokens, skip_special_tokens=True) return {"output":output} app.mount("/", StaticFiles(directory="static", html=True), name="static") # @app.get("/") # def index() -> FileResponse: # return FileResponse(path="/app/static/index.html", media_type="text/html") @app.get("/") async def index(): apikey = {"APIKEY": os.environ.get("API_KEY")} return templates.TemplateResponse("index.html", {"apikey": apikey})