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