shalabyelectronics commited on
Commit
932c1eb
·
verified ·
1 Parent(s): d02a12f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -27
app.py CHANGED
@@ -1,52 +1,47 @@
1
  import gradio as gr
2
- import requests
3
  import os
4
 
5
- # جلب التوكن
6
  hf_token = os.getenv("HF_TOKEN")
7
 
8
- # سنستخدم نموذج Zephyr القوي جداً والمفتوح
9
- API_URL = "https://api-inference.huggingface.co/models/HuggingFaceH4/zephyr-7b-beta"
10
- headers = {"Authorization": f"Bearer {hf_token}"}
11
 
12
  def analyze_response(prompt):
13
  if not prompt:
14
  return "يرجى كتابة نص.", "غير محدد ⚪"
15
 
16
- # تجهيز الرسالة بصيغة الشات ليفهمها النموذج
17
- payload = {
18
- "inputs": f"<|system|>\nYou are a helpful assistant.\n<|user|>\n{prompt}\n<|assistant|>\n",
19
- "parameters": {"max_new_tokens": 200}
20
- }
21
-
22
  try:
23
- # الاتصال المباشر بالسيرفر (أضمن طريقة)
24
- response = requests.post(API_URL, headers=headers, json=payload)
25
- json_response = response.json()
 
 
 
 
 
 
 
26
 
27
- # استخراج النص من الرد
28
- if isinstance(json_response, list) and 'generated_text' in json_response[0]:
29
- generated_text = json_response[0]['generated_text']
30
- # تنظيف الرد لحذف السؤال الأصلي
31
- final_answer = generated_text.split("<|assistant|>\n")[-1].strip()
32
- elif 'error' in json_response:
33
- return f"خطأ من النموذج: {json_response['error']}", "فشل ❌"
34
  else:
35
- final_answer = str(json_response)
36
-
37
- # التقييم
38
- evaluation = "✅ النموذج فهم وأجاب" if len(final_answer) > 10 else "⚠️ إجابة قصيرة"
39
  return final_answer, evaluation
40
 
41
  except Exception as e:
42
- return f"خطأ في الاتصال: {str(e)}", "فشل ❌"
43
 
44
  # بناء الواجهة
45
  with gr.Blocks(theme=gr.themes.Soft()) as demo:
46
  gr.Markdown("# 🤖 اختبار فهم النماذج للنصوص (Prompt Understanding Test)")
47
 
48
  with gr.Row():
49
- input_text = gr.Textbox(label="أدخل الـ Prompt هنا", placeholder="مثال: Explain AI simply")
50
 
51
  btn = gr.Button("إرسال للتحليل", variant="primary")
52
 
 
1
  import gradio as gr
2
+ from huggingface_hub import InferenceClient
3
  import os
4
 
5
+ # 1. جلب التوكن
6
  hf_token = os.getenv("HF_TOKEN")
7
 
8
+ # 2. إعداد العميل (سيقوم هو بإدارة الروابط الجديدة تلقائياً)
9
+ client = InferenceClient(token=hf_token)
 
10
 
11
  def analyze_response(prompt):
12
  if not prompt:
13
  return "يرجى كتابة نص.", "غير محدد ⚪"
14
 
 
 
 
 
 
 
15
  try:
16
+ # 3. استخدام دالة Chat Completion (هذه هي الطريقة الصحيحة للنماذج الحديثة)
17
+ # نستخدم نموذج Zephyr لأنه قوي ومفتوح المصدر
18
+ response = client.chat.completions.create(
19
+ model="HuggingFaceH4/zephyr-7b-beta",
20
+ messages=[{"role": "user", "content": prompt}],
21
+ max_tokens=200
22
+ )
23
+
24
+ # استخراج الرد
25
+ final_answer = response.choices[0].message.content
26
 
27
+ # 4. التقييم
28
+ evaluation = ""
29
+ if len(final_answer) > 10:
30
+ evaluation = "✅ النموذج فهم وأجاب"
 
 
 
31
  else:
32
+ evaluation = "⚠️ إجابة قصيرة جداً"
33
+
 
 
34
  return final_answer, evaluation
35
 
36
  except Exception as e:
37
+ return f"خطأ تقني: {str(e)}", "فشل ❌"
38
 
39
  # بناء الواجهة
40
  with gr.Blocks(theme=gr.themes.Soft()) as demo:
41
  gr.Markdown("# 🤖 اختبار فهم النماذج للنصوص (Prompt Understanding Test)")
42
 
43
  with gr.Row():
44
+ input_text = gr.Textbox(label="أدخل الـ Prompt هنا", placeholder="مثال: ما هي عاصمة مصر؟")
45
 
46
  btn = gr.Button("إرسال للتحليل", variant="primary")
47