|
from fastapi import FastAPI, HTTPException |
|
from pydantic import BaseModel |
|
from transformers import pipeline |
|
|
|
app = FastAPI() |
|
|
|
|
|
translator = pipeline("translation", model="Helsinki-NLP/opus-mt-en-fr") |
|
|
|
class TranslationRequest(BaseModel): |
|
text: str |
|
|
|
@app.post("/translate/") |
|
async def translate(request: TranslationRequest): |
|
if not request.text: |
|
raise HTTPException(status_code=400, detail="Le texte ne peut pas être vide.") |
|
try: |
|
result = translator(request.text) |
|
return {"translated_text": result[0]['translation_text']} |
|
except Exception as e: |
|
raise HTTPException(status_code=500, detail=str(e)) |
|
|
|
@app.get("/") |
|
async def root(): |
|
return {"message": "Bienvenue sur l'API de traduction avec FastAPI 🚀"} |
|
|