hamdylove commited on
Commit
973a04e
·
verified ·
1 Parent(s): 0359143

انشاء app.py

Browse files

إضافة الكود البرمجي الأساسي لوكيل القانوني.

Files changed (1) hide show
  1. app.py +72 -0
app.py ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # استيراد المكتبات المطلوبة
2
+ import gradio as gr
3
+ import easyocr
4
+ from transformers import pipeline
5
+ import speech_recognition as sr
6
+ import os
7
+
8
+ # تحميل نموذج ذكاء اصطناعي جاهز
9
+ chatbot = pipeline("text-generation", model="tiiuae/falcon-1b", max_new_tokens=512)
10
+
11
+ # إنشاء قارئ نصوص من الصور
12
+ reader = easyocr.Reader(['ar', 'en'])
13
+
14
+ # دالة الرد الكتابي
15
+ def respond(message, file_upload, image_upload, audio_upload):
16
+ result = ""
17
+
18
+ # إذا كان هناك نص مكتوب
19
+ if message:
20
+ response = chatbot(message)[0]['generated_text']
21
+ result += f"الرد على رسالتك:\n{response}\n\n"
22
+
23
+ # إذا تم رفع ملف
24
+ if file_upload:
25
+ file_extension = os.path.splitext(file_upload.name)[1]
26
+ if file_extension.lower() in ['.pdf', '.txt', '.doc', '.docx']:
27
+ content = file_upload.read().decode('utf-8', errors='ignore')
28
+ result += f"محتوى الملف:\n{content}\n\n"
29
+ else:
30
+ result += "صيغة الملف غير مدعومة حاليًا.\n\n"
31
+
32
+ # إذا تم رفع صورة
33
+ if image_upload:
34
+ image_path = image_upload.name
35
+ output = reader.readtext(image_path, detail=0)
36
+ extracted_text = "\n".join(output)
37
+ result += f"النصوص المستخرجة من الصورة:\n{extracted_text}\n\n"
38
+
39
+ # إذا تم رفع تسجيل صوتي
40
+ if audio_upload:
41
+ recognizer = sr.Recognizer()
42
+ with sr.AudioFile(audio_upload.name) as source:
43
+ audio = recognizer.record(source)
44
+ try:
45
+ text = recognizer.recognize_google(audio, language="ar-EG")
46
+ response = chatbot(text)[0]['generated_text']
47
+ result += f"النص المستخرج من الصوت:\n{text}\n\n"
48
+ result += f"رد الذكاء الاصطناعي:\n{response}\n\n"
49
+ except Exception as e:
50
+ result += f"حدث خطأ أثناء التعرف على الصوت: {e}\n\n"
51
+
52
+ if not result:
53
+ result = "من فضلك أدخل رسالة أو ارفع ملف أو صورة أو تسجيل صوتي للمتابعة."
54
+
55
+ return result
56
+
57
+ # واجهة الاستخدام
58
+ iface = gr.Interface(
59
+ fn=respond,
60
+ inputs=[
61
+ gr.Textbox(lines=2, placeholder="اكتب استفسارك القانوني هنا..."),
62
+ gr.File(label="رفع ملف قانوني (اختياري)"),
63
+ gr.Image(label="رفع صورة نص قانوني (اختياري)"),
64
+ gr.Audio(label="رفع تسجيل صوتي (اختياري)")
65
+ ],
66
+ outputs="text",
67
+ title="وكيل قانوني ذكي",
68
+ description="هذا وكيل ذكاء اصطناعي قانوني يعمل باللغة العربية. يمكنك طرح أسئلتك، رفع ملفات، صور أو تسجيلات صوتية وسيتم التعامل معها وتحليلها والرد عليك."
69
+ )
70
+
71
+ iface.launch()
72
+