import gradio as gr from huggingface_hub import hf_hub_download from llama_cpp import Llama import os model_path = hf_hub_download( repo_id="methodya/arabic-summarizer-philosophy-v3", filename="sambalingo-arabic-chat.Q5_K_M.gguf" ) llm = Llama( model_path=model_path, n_ctx=2048, n_threads=4 ) def summarize(text: str) -> str: if not text: return "يرجى إدخال نص للتلخيص" prompt = f"""أنت مساعد عربي متخصص في تلخيص النصوص الفلسفية. قم بتلخيص النص التالي: {text} """ try: output = llm( prompt, max_tokens=2000, temperature=0.7, stop=["User:", "\n\n"] ) return output['choices'][0]['text'] except Exception as e: return f"حدث خطأ: {str(e)}" interface = gr.Interface( fn=summarize, inputs=gr.Textbox(label="النص الفلسفي", lines=8, text_align="right"), outputs=gr.Textbox(label="الملخص", lines=6, text_align="right"), title="ملخص النصوص الفلسفية", description="أداة لتلخيص النصوص الفلسفية باللغة العربية" ) if __name__ == "__main__": interface.launch()