Spaces:
Sleeping
Sleeping
| from fastapi import FastAPI, Request | |
| from fastapi.responses import JSONResponse | |
| from fastapi.staticfiles import StaticFiles | |
| from transformers import AutoTokenizer, AutoModelForSeq2SeqLM | |
| import torch | |
| app = FastAPI() | |
| # Mount static files (HTML + CSS) | |
| app.mount("/", StaticFiles(directory=".", html=True), name="static") | |
| # Load model | |
| model_name = "itsmeussa/AdabTranslate-Darija" | |
| tokenizer = AutoTokenizer.from_pretrained(model_name) | |
| model = AutoModelForSeq2SeqLM.from_pretrained(model_name) | |
| async def translate(request: Request): | |
| data = await request.json() | |
| text = data.get("text", "") | |
| if not text.strip(): | |
| return {"translation": "⚠️ Empty input."} | |
| inputs = tokenizer(text, return_tensors="pt") | |
| outputs = model.generate(**inputs, max_length=256) | |
| translation = tokenizer.decode(outputs[0], skip_special_tokens=True) | |
| return {"translation": translation} | |