File size: 1,040 Bytes
e8d23f1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
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):
    doc = fitz.open(stream=file.read(), filetype="pdf")
    text = ""
    for page in doc:
        text += page.get_text()

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

    result = qa(question=question, context=text[:4000])  # قص النص لتفادي الطول الزائد
    return result["answer"]

gr.Interface(
    fn=answer_pdf,
    inputs=[
        gr.File(label="ملف PDF"),
        gr.Textbox(label="ما سؤالك؟", placeholder="مثال: ما هي الأدوات المذكورة؟")
    ],
    outputs=gr.Textbox(label="الإجابة"),
    title="تحليل ملفات PDF بالعربية",
    description="ارفع ملف PDF واسأل سؤالًا وسيتم الإجابة باستخدام نموذج Arabic BERT"
).launch()