File size: 1,248 Bytes
7d5f3fb
 
 
 
 
 
 
 
 
 
 
06d7aa1
 
7d5f3fb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import os
import requests
import gradio as gr


ENDPOINT_URL = os.getenv("ENDPOINT_URL")
SYSTEM_PROMPT = os.getenv("SYSTEM_PROMPT")
if not ENDPOINT_URL or not SYSTEM_PROMPT:
    raise ValueError("Set ENDPOINT_URL and SYSTEM_PROMPT env vars.")

def build_prompt(sys_txt, usr_txt):
    usr_txt = usr_txt.replace('"', '')
    return f"<|system|>\n{sys_txt}\n<|user|>\nترجم النص الاتي: \"{usr_txt}\"\n<|assistant|>"

def translate_to_arabic(text):
    try:
        prompt = build_prompt(SYSTEM_PROMPT, text)
        resp = requests.post(ENDPOINT_URL, json={"inputs": prompt})
        resp.raise_for_status()
        data = resp.json()
        txt = data.get("generated_text") if isinstance(data, dict) else data[0].get("generated_text")
        return txt.strip()
    except:
        print("Talk to Admin")
        

custom_theme = gr.themes.Soft(primary_hue="purple", secondary_hue= "purple")
with gr.Blocks(theme=custom_theme) as iface:
    inp = gr.Textbox(label=None, lines=1, placeholder="Enter your text")
    btn = gr.Button("Translate", variant="primary")
    out = gr.Textbox(label=None, lines=1)
    btn.click(translate_to_arabic, inputs=inp, outputs=out)

if __name__ == "__main__":
    iface.launch(share=True, max_threads=100)