Verianchor commited on
Commit
bac14bd
·
verified ·
1 Parent(s): ad30e56

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +69 -27
app.py CHANGED
@@ -1,33 +1,75 @@
1
  import gradio as gr
 
2
 
3
- # قاعدة بيانات بسيطة للمعلومات الموثقة (The Anchor)
4
- FACTS = {
5
- "عاصمة مصر": "القاهرة",
6
- "عاصمة السعودية": "الرياض",
7
- "مخترع iam protocol": "المبتكر مصطفى جمال (Mostafa Gamal)",
8
- "ما هو verianchor": "هو نظام أمان للذكاء الاصطناعي يمنع الهلوسة باستخدام بروتوكول IAM."
9
- }
10
-
11
- def iam_shield(message, history):
12
- query = message.strip().lower()
13
-
14
- # 1. طبقة الحماية من المحتوى الخطر (مثل الغراء في البيتزا)
15
- if "غراء" in query or "glue" in query:
16
- return "⚠️ [IAM Block]: تم اكتشاف محتوى عالي الخطورة. بروتوكول VeriAnchor يمنع الرد على هذه التوصيات."
17
-
18
- # 2. طبقة التحقق من الحقائق (Deterministic Verification)
19
- for key, value in FACTS.items():
20
- if key in query:
21
- return f"✅ [Verified]: {value}"
22
-
23
- # 3. الرد في حالة عدم وجود معلومة موثقة (Silence over Fabrication)
24
- return "❌ [VeriAnchor Shield]: عذراً، لا يمكنني تأكيد هذه المعلومة رياضياً، ولن أقوم بتأليف إجابة غير موثقة."
25
-
26
- # تشغيل واجهة الشات
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
  demo = gr.ChatInterface(
28
- fn=iam_shield,
29
- title="⚓ VeriAnchor Demo",
30
- description="Live demonstration of the IAM Protocol - Zero Hallucination Mode."
 
 
31
  )
32
 
33
  if __name__ == "__main__":
 
1
  import gradio as gr
2
+ from transformers import pipeline
3
 
4
+ # ---------------------------------------------------------
5
+ # 1. تحميل نموذج الذكاء الاصطناعي (The Brain)
6
+ # ---------------------------------------------------------
7
+ # هنستخدم موديل عربي جاهز للأسئلة والأجوبة.
8
+ # ممكن ياخد وقت في التحميل أول مرة.
9
+ qa_pipeline = pipeline("question-answering", model="aubmindlab/bert-base-arabertv2")
10
+
11
+ # سياق عام (Context) عشان الموديل يعرف يجاوب منه.
12
+ # في النسخة الحقيقية، ده هيكون قاعدة بيانات ضخمة.
13
+ GENERAL_CONTEXT = """
14
+ عاصمة مصر هي القاهرة، وهي أكبر مدينة في العالم العربي.
15
+ عاصمة السعودية هي الرياض.
16
+ بروتوكول IAM (Identity, Anchor, Monitor) هو نظام أمان للذكاء الاصطناعي ابتكره مصطفى جمال (Mostafa Gamal).
17
+ يهدف IAM إلى منع الهلوسة (Hallucinations) في النماذج اللغوية الكبيرة عن طريق طبقات حماية حتمية (Deterministic Layers).
18
+ لا ينصح أبداً بوضع الغراء على البيتزا لأنها مواد سامة وغير صالحة للأكل.
19
+ """
20
+
21
+ # ---------------------------------------------------------
22
+ # 2. محرك بروتوكول IAM (The Shield)
23
+ # ---------------------------------------------------------
24
+ def iam_protocol_engine(question):
25
+ """
26
+ دالة تطبق طبقات الحماية على إجابة الموديل.
27
+ """
28
+ question = question.strip().lower()
29
+
30
+ # --- [Layer 1: DGT - Dangerous Generation Trap] ---
31
+ # كشف الأنماط الخطرة قبل حتى ما نسأل الموديل.
32
+ dangerous_keywords = ["غراء", "glue", "سم", "انتحار", "قنبلة"]
33
+ for word in dangerous_keywords:
34
+ if word in question:
35
+ return "⚠️ [IAM Block - DGT Layer]: تم رصد محتوى خطر أو ضار. البروتوكول يمنع الإجابة على هذا السؤال."
36
+
37
+ # --- [الحصول على الإجابة الأولية من الموديل] ---
38
+ try:
39
+ # نسأل الموديل باستخدام السياق المتاح
40
+ result = qa_pipeline(question=question, context=GENERAL_CONTEXT)
41
+ answer = result['answer']
42
+ confidence_score = result['score'] # درجة ثقة الموديل (من 0 لـ 1)
43
+ except Exception as e:
44
+ return f"❌ [System Error]: حدث خطأ أثناء معالجة السؤال: {str(e)}"
45
+
46
+ # --- [Layer 2: RRS - Real-time Reliability Score] ---
47
+ # تحديد حد أدنى للثقة (Threshold). لو أقل منه، نعتبرها هلوسة.
48
+ CONFIDENCE_THRESHOLD = 0.75 # يعني لازم يكون واثق بنسبة 75% على الأقل
49
+
50
+ if confidence_score < CONFIDENCE_THRESHOLD:
51
+ # --- [Layer 3: DAC - Deterministic Action Control] ---
52
+ # تطبيق مبدأ "السكوت بدلاً من التأليف" (Silence over Fabrication)
53
+ return f"❌ [IAM Shield - DAC Layer]: الموديل غير واثق بما يكفي (الثقة: {confidence_score:.2f}). تم منع الإجابة لتجنب الهلوسة المحتملة."
54
+
55
+ # لو عدى من كل الفلاتر، نرجع الإجابة الموثقة
56
+ return f"✅ [IAM Verified Output]: {answer}\n(نسبة الثقة: {confidence_score:.2f})"
57
+
58
+
59
+ # ---------------------------------------------------------
60
+ # 3. واجهة الشات (The Interface)
61
+ # ---------------------------------------------------------
62
+ def chat_interface(message, history):
63
+ response = iam_protocol_engine(message)
64
+ return response
65
+
66
+ # تصميم الواجهة
67
  demo = gr.ChatInterface(
68
+ fn=chat_interface,
69
+ title="⚓ VeriAnchor Pro: AI with IAM Shield",
70
+ description="شات ذكي يستخدم موديل لغوي حقيقي، لكنه محمي ببروتوكول IAM لمنع الإجابات الخطرة أو غير الموثقة.",
71
+ examples=["ما هي عاصمة مصر؟", "مين اخترع IAM Protocol؟", "ينفع احط غراء على البيتزا؟", "سؤال غريب مش موجود في السياق"],
72
+ theme="soft"
73
  )
74
 
75
  if __name__ == "__main__":