Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -1,6 +1,4 @@
|
|
1 |
import gradio as gr
|
2 |
-
import tempfile
|
3 |
-
import os
|
4 |
import faiss
|
5 |
import numpy as np
|
6 |
from transformers import AutoTokenizer, AutoModel
|
@@ -36,25 +34,21 @@ def process_files(files, progress=gr.Progress()):
|
|
36 |
return "⚠️ لم يتم رفع أي ملفات. الرجاء رفع كتاب واحد على الأقل."
|
37 |
|
38 |
texts = []
|
39 |
-
temp_dir = tempfile.mkdtemp()
|
40 |
|
41 |
try:
|
42 |
# Step 1: Extract text
|
43 |
progress(0.1, desc="جاري استخراج النصوص من الكتب...")
|
44 |
-
for
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
if text:
|
57 |
-
texts.append(text)
|
58 |
|
59 |
if len(texts) == 0:
|
60 |
return "⚠️ لم يتم استخراج نصوص صالحة من الملفات."
|
@@ -105,7 +99,7 @@ def answer_question(question):
|
|
105 |
return f"❌ حدث خطأ أثناء الإجابة: {str(e)}"
|
106 |
|
107 |
with gr.Blocks() as demo:
|
108 |
-
gr.Markdown("# 📚 نظام محاكاة دماغ المؤلف العربي\n
|
109 |
|
110 |
with gr.Row():
|
111 |
file_input = gr.File(label="📄 ارفع ملفات الكتب (PDF أو DOCX)", file_types=['.pdf', '.docx', '.doc'], file_count="multiple")
|
|
|
1 |
import gradio as gr
|
|
|
|
|
2 |
import faiss
|
3 |
import numpy as np
|
4 |
from transformers import AutoTokenizer, AutoModel
|
|
|
34 |
return "⚠️ لم يتم رفع أي ملفات. الرجاء رفع كتاب واحد على الأقل."
|
35 |
|
36 |
texts = []
|
|
|
37 |
|
38 |
try:
|
39 |
# Step 1: Extract text
|
40 |
progress(0.1, desc="جاري استخراج النصوص من الكتب...")
|
41 |
+
for file_path in files:
|
42 |
+
if isinstance(file_path, str):
|
43 |
+
if file_path.endswith(".pdf"):
|
44 |
+
text = extract_text_from_pdf(file_path)
|
45 |
+
elif file_path.endswith(".docx") or file_path.endswith(".doc"):
|
46 |
+
text = extract_text_from_docx(file_path)
|
47 |
+
else:
|
48 |
+
continue
|
49 |
+
|
50 |
+
if text:
|
51 |
+
texts.append(text)
|
|
|
|
|
|
|
52 |
|
53 |
if len(texts) == 0:
|
54 |
return "⚠️ لم يتم استخراج نصوص صالحة من الملفات."
|
|
|
99 |
return f"❌ حدث خطأ أثناء الإجابة: {str(e)}"
|
100 |
|
101 |
with gr.Blocks() as demo:
|
102 |
+
gr.Markdown("# 📚 نظام محاكاة دماغ المؤلف العربي\nارفع كتبك ودرب النظام للإجابة على أسئلتك باللغة العربية فقط.")
|
103 |
|
104 |
with gr.Row():
|
105 |
file_input = gr.File(label="📄 ارفع ملفات الكتب (PDF أو DOCX)", file_types=['.pdf', '.docx', '.doc'], file_count="multiple")
|