geeaiml commited on
Commit
7d7c85c
·
verified ·
1 Parent(s): a4963fb

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +48 -0
app.py ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import pandas as pd
3
+ from transformers import pipeline
4
+
5
+ # تحميل نموذج تلخيص النصوص باللغة العربية من Hugging Face
6
+ summarizer = pipeline("summarization", model="microsoft/mdeberta-v3-base")
7
+
8
+ # تحميل البيانات وتحليلها
9
+ def load_and_analyze(file):
10
+ global df
11
+ df = pd.read_csv(file.name)
12
+ return f"تم تحميل البيانات بنجاح! عدد الصفوف: {df.shape[0]}, عدد الأعمدة: {df.shape[1]}"
13
+
14
+ # الرد على استفسارات المحلل
15
+ def answer_query(query):
16
+ global df
17
+ if df is None:
18
+ return "❌ الرجاء تحميل ملف البيانات أولاً."
19
+
20
+ query = query.lower()
21
+ if "المتوسط" in query or "المعدل" in query:
22
+ result = df.mean().to_string()
23
+ elif "أكبر قيمة" in query or "القيمة العليا" in query:
24
+ result = df.max().to_string()
25
+ elif "أصغر قيمة" in query or "القيمة الدنيا" in query:
26
+ result = df.min().to_string()
27
+ elif "ملخص" in query:
28
+ stats = df.describe().to_string()
29
+ summary = summarizer(stats, max_length=100, do_sample=False)[0]['summary_text']
30
+ result = f"📊 **ملخص البيانات:**\n{summary}"
31
+ else:
32
+ result = "❓ لم أفهم السؤال. حاول إعادة صياغته."
33
+
34
+ return result
35
+
36
+ # إنشاء واجهة Gradio
37
+ with gr.Blocks() as app:
38
+ gr.Markdown("## 🤖 Chatbot لمحللي البيانات")
39
+
40
+ file_input = gr.File(label="📂 رفع ملف CSV")
41
+ file_output = gr.Textbox(label="🔍 حالة البيانات")
42
+ file_input.change(load_and_analyze, inputs=file_input, outputs=file_output)
43
+
44
+ chat_input = gr.Textbox(label="💬 اسأل عن البيانات")
45
+ chat_output = gr.Textbox(label="🤖 إجابة الذكاء الاصطناعي")
46
+ chat_input.submit(answer_query, inputs=chat_input, outputs=chat_output)
47
+
48
+ app.launch()