MitchellKil/gaelic-translation-server
0
1import logging2from fastapi import FastAPI3from pydantic import BaseModel4from transformers import MarianMTModel, MarianTokenizer5 6logging.basicConfig(level=logging.INFO)7app = FastAPI()8 9model_name = "Helsinki-NLP/opus-mt-synthetic-en-gd"10tokenizer = MarianTokenizer.from_pretrained(model_name)11model = MarianMTModel.from_pretrained(model_name)12 13class TranslateRequest(BaseModel):14 text: str15 16@app.get("/")17def health():18 return {"status": "ok"}19 20@app.post("/translate")21def translate(req: TranslateRequest):22 inputs = tokenizer(req.text, return_tensors="pt", padding=True, truncation=True)23 translated_ids = model.generate(**inputs)24 translated_text = tokenizer.batch_decode(translated_ids, skip_special_tokens=True)[0]25 return {"translatedText": translated_text}26 