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)