Spaces:
Sleeping
Sleeping
| 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() |