File size: 1,304 Bytes
e8d23f1
 
 
 
6d0a141
e8d23f1
 
 
6d0a141
 
e8d23f1
 
 
 
 
 
 
6d0a141
 
e8d23f1
 
6d0a141
e8d23f1
 
 
6d0a141
 
e8d23f1
6d0a141
 
 
 
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
import fitz  # PyMuPDF
import gradio as gr
from transformers import pipeline

# تحميل نموذج لغة عربية للإجابة على الأسئلة
qa = pipeline("question-answering", model="aubmindlab/bert-base-arabertv2")

def answer_pdf(file, question):
    # فتح ملف PDF من المسار المؤقت
    doc = fitz.open(file.name)
    text = ""
    for page in doc:
        text += page.get_text()

    if not question.strip():
        return "يرجى كتابة سؤال لبدء التحليل."

    # الإجابة على السؤال باستخدام النص المستخرج
    result = qa(question=question, context=text[:4000])  # تقصير النص لتجنب تجاوز الحد
    return result["answer"]

# واجهة المستخدم عبر Gradio
gr.Interface(
    fn=answer_pdf,
    inputs=[
        gr.File(label="📄 ارفع ملف PDF"),
        gr.Textbox(label="❓ سؤالك", placeholder="مثال: ما الأدوات التي تعالج الصور؟")
    ],
    outputs=gr.Textbox(label="🤖 الإجابة"),
    title="📚 قارئ ملفات PDF الذكي بالعربية",
    description="استخدم هذه الأداة لتحليل ملفات PDF المكتوبة بالعربية وطرح أسئلتك عليها",
).launch(share=True)