luck210 commited on
Commit
1c4dccf
·
verified ·
1 Parent(s): 37891e2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -32
app.py CHANGED
@@ -1,39 +1,25 @@
1
- from fastapi import FastAPI, UploadFile, File
2
- from models.summarization import summarize_text
3
- from models.qa import answer_question
4
- from models.visualization import generate_visualization
5
- from models.translation import translate_document
6
- from utils.document_parser import extract_text_from_pdf
7
- import uvicorn
8
 
9
  app = FastAPI()
10
 
11
- @app.get("/")
12
- def home():
13
- return {"message": "API is running on Hugging Face Spaces!"}
14
-
15
- @app.post("/summarize/")
16
- async def summarize(file: UploadFile = File(...)):
17
- text = extract_text_from_pdf(file)
18
- summary = summarize_text(text)
19
- return {"summary": summary}
20
 
21
- @app.post("/qa/")
22
- async def qa(file: UploadFile = File(...), question: str = ""):
23
- text = extract_text_from_pdf(file)
24
- response = answer_question(text, question)
25
- return {"answer": response}
26
-
27
- @app.post("/visualization/")
28
- async def visualization(file: UploadFile = File(...), request: str = ""):
29
- code = generate_visualization(file, request)
30
- return {"generated_code": code}
31
 
32
  @app.post("/translate/")
33
- async def translate(file: UploadFile = File(...), target_language: str = "fr"):
34
- text = extract_text_from_pdf(file)
35
- translated_text = translate_document(text, target_language)
36
- return {"translated_text": translated_text}
 
 
 
 
37
 
38
- if __name__ == "__main__":
39
- uvicorn.run(app, host="0.0.0.0", port=7860)
 
 
1
+ from fastapi import FastAPI, HTTPException
2
+ from pydantic import BaseModel
3
+ from transformers import pipeline
 
 
 
 
4
 
5
  app = FastAPI()
6
 
7
+ # Charger le modèle de traduction
8
+ translator = pipeline("translation", model="Helsinki-NLP/opus-mt-en-fr")
 
 
 
 
 
 
 
9
 
10
+ class TranslationRequest(BaseModel):
11
+ text: str
 
 
 
 
 
 
 
 
12
 
13
  @app.post("/translate/")
14
+ async def translate(request: TranslationRequest):
15
+ if not request.text:
16
+ raise HTTPException(status_code=400, detail="Le texte ne peut pas être vide.")
17
+ try:
18
+ result = translator(request.text)
19
+ return {"translated_text": result[0]['translation_text']}
20
+ except Exception as e:
21
+ raise HTTPException(status_code=500, detail=str(e))
22
 
23
+ @app.get("/")
24
+ async def root():
25
+ return {"message": "Bienvenue sur l'API de traduction avec FastAPI 🚀"}