hadheedo commited on
Commit
052d1d2
·
verified ·
1 Parent(s): 57719a5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -19
app.py CHANGED
@@ -1,33 +1,25 @@
1
  from fastapi import FastAPI
2
  from pydantic import BaseModel
3
  from transformers import pipeline
4
- import gradio as gr
5
 
6
- # ===== FastAPI setup =====
7
  app = FastAPI()
8
 
9
- # ===== Translator pipeline =====
10
  translator = pipeline("translation", model="Helsinki-NLP/opus-mt-ar-en", device=-1)
11
 
 
12
  class Prompt(BaseModel):
13
  user_prompt: str
14
 
15
- @app.post("/ask")
16
- def ask_model(data: Prompt):
 
17
  result = translator(data.user_prompt)
18
- return {"response": result[0]['translation_text']}
19
 
20
- # ===== Gradio interface =====
21
- def translate_text(text):
22
- return translator(text)[0]["translation_text"]
 
23
 
24
- iface = gr.Interface(
25
- fn=translate_text,
26
- inputs="text",
27
- outputs="text",
28
- title="Arabic to English Translator",
29
- description="اكتب نص عربي وسيتم ترجمته للإنجليزية"
30
- )
31
-
32
- # هذا السطر يشتغل على Spaces ويب
33
- iface.launch(server_name="0.0.0.0", server_port=7860)
 
1
  from fastapi import FastAPI
2
  from pydantic import BaseModel
3
  from transformers import pipeline
4
+ import uvicorn
5
 
 
6
  app = FastAPI()
7
 
8
+ # موديل ترجمة صغير، يشتغل على CPU
9
  translator = pipeline("translation", model="Helsinki-NLP/opus-mt-ar-en", device=-1)
10
 
11
+ # هيكل البيانات اللي هيستقبله POST
12
  class Prompt(BaseModel):
13
  user_prompt: str
14
 
15
+ # ال endpoint اللي n8n هيتواصل معاه
16
+ @app.post("/translate")
17
+ def translate_text(data: Prompt):
18
  result = translator(data.user_prompt)
19
+ return {"translation": result[0]['translation_text']}
20
 
21
+ # تشغيل السيرفر لو شغلت الملف مباشرة
22
+ if __name__ == "__main__":
23
+ print("Starting server at http://0.0.0.0:8000")
24
+ uvicorn.run(app, host="0.0.0.0", port=8000)
25