from fastapi import FastAPI from fastapi.staticfiles import StaticFiles from fastapi.responses import FileResponse from pydantic import BaseModel import os from inference import get_model_parameters, translate app = FastAPI( title="Transformer Translation API", description="English to Hindi Translation Model", version="1.0" ) class TranslationRequest(BaseModel): text: str # Serve static files (frontend) static_dir = os.path.join(os.path.dirname(__file__), "static") if os.path.exists(static_dir): app.mount("/static", StaticFiles(directory=static_dir), name="static") @app.get("/") def home(): """Serve the main translation page""" static_index = os.path.join(static_dir, "index.html") if os.path.exists(static_index): return FileResponse(static_index) return { "message": "Translation API Running" } @app.post("/translate") def translate_api(request: TranslationRequest): translated_text = translate(request.text) return { "input": request.text, "translation": translated_text } @app.get("/model-parameters") def model_parameters_api(): return get_model_parameters()