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)