File size: 1,242 Bytes
5209883
cc3cf42
193d24e
 
5209883
cc3cf42
 
 
 
193d24e
 
cc3cf42
 
 
193d24e
5209883
09cbb4f
cc3cf42
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5209883
193d24e
cc3cf42
 
 
 
 
193d24e
5209883
 
cc3cf42
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
36
37
38
39
40
41
42
43
44
45
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()