
قياس سدّ فجوة سلامة النص–المتجه في RAG دون اتصال: قانون الهامش، وتدقيق قواعد البيانات المتجهية، والتحقق على مستوى الشيفرة.
الكود والبيانات والنتائج الخاصة بالورقة البحثية Signed but Steerable: Measuring and Closing the Text-Vector Integrity Gap in Offline Retrieval-Augmented Generation (G. Feretzakis, A. Papaspyridis, securagen.ai).
مؤرشف على Zenodo: 10.5281/zenodo.23945569 (جميع الإصدارات؛ الإصدار v1.0.2، المُستشهد به في الورقة: 10.5281/zenodo.23948839). سيُضاف معرّف arXiv الخاص بالورقة عند توفره.
ragtrust/ مكتبة مشتركة، تتضمن codeverify.py، المدقّق المرجعي على مستوى الكود المستخدم في كل
نتيجة تحقق من الكود (تُحسم الغموض فقط من إعادة حساب المدقّق؛ القبول من الجيران فقط؛
التقنين).desktop/ تجارب نُفّذت على الحاسوب المكتبي: تقييم الامتناع (E1) وفحصه على MS MARCO، وهجوم
فك تزامن المتجهات وقانون الهامش (E7)، وهوامش BEIR، وتعرض قاعدة بيانات المتجهات، وعرض
FAISS، والتحقق على مستوى الكود وحتمية خطوط أنابيب الأعداد العشرية.device/ تجارب نُفّذت على معالج Raspberry Pi 5: تقليم السياق (E2)، وتكلفة التحقق بجوار
النموذج اللغوي (E4)، والتضمين على الجهاز ودقة INT8 (E5)، والهجوم من طرف إلى طرف (E7) وتحديثات الحزم (E8).analysis/ التحليلات، وفحوص الدقة والوحدات، وmake_figures.py، الذي يعيد توليد الأشكال.data/ مجموعة النصوص المشتقة من SQuAD، والنوافذ، والأسئلة والمتجهات؛ results/ مخرجات كل تجربة؛
tests/ اختبارات الوحدة؛ remote/ أدوات مساعدة لتشغيل Pi من الحاسوب المكتبي (عدّل أسماء المضيفين).PROTOCOL.md الفرضيات المثبّتة قبل جمع البيانات وسجل الانحرافات والتحليلات الاستكشافية.
تتبع أرقام التجارب البروتوكول؛ E3 وE6 ليستا جزءًا من هذا الإصدار.pins.json المراجعات المثبّتة للنماذج والأدوات.python tests/test_codeverify.py.bash desktop/setup_desktop.sh؛ الأشكال: python analysis/make_figures.py.device/requirements_device.txt، وllama.cpp عند الالتزام المذكور في pins.json.على Raspberry Pi، بعد cp device/config.env.example device/config.env (عدّل المسارات) وتثبيت
device/requirements_device.txt في venv_device:
bash device/inner_generate.sh خادم llama-server ويشغّل k3_full (أول 60 سؤالًا،
فحص قابلية إعادة الإنتاج)، وk5_ce3، وk10_ce3، وk10_ce5، وk5_bi3، وk5_ce3 مع محدّد INT8 المتصل، وتكوينات E7؛
تكوين CPU-INT8 من طرف إلى طرف وحده: bash device/run_e7_cpu_int8.sh. المتغيرات
k5_ce3w وk3_ce3 وk3_ce3w تُشغَّل باستخدام python device/e2_generate.py --config <name> بينما يكون llama-server
قيد التشغيل (يُبدأ كما في device/inner_generate.sh). يُتخطى التكوين عندما يكون results/e2/status_<name>.json
موجودًا؛ انقل تلك الملفات جانبًا لإعادة توليد النتائج المنشورة.python device/e4_contention.py؛ E5: python device/e5_reindex.py --backends ort-fp32,ort-int8 --batch 32 (حجم
الدفعة في النتائج المنشورة: يعتمد INT8 الديناميكي على حجم الدفعة، والدفعات بحجم 64 تعطي متجهات مختلفة)؛
E8: python device/e8_device_verify.py --vector-backend ort-fp32.remote/pi_sync.sh المستودع إلى Pi ويجلب remote/pi_fetch.sh النتائج.results/e7/margin_law_squad.json؛ المجموعات الأخرى والشكل 1: results/e7/beir_margins.json
وresults/e7/margins/؛ التعرّض عند عتبة المرجع CPU-INT8: results/e7/cpu_int8_exposure.json؛
فحوص الدقة العددية والوحدات: results/e7/margin_precision_check.json؛ معايرة عتبة المرجع INT8
(الكمّية الدقيقة، نوافذ صادقة دونها، إعادة ترميز بتًا ببت عند الدفعة 32):
results/e5/int8_calibration_check.json (analysis/e5_int8_calibration_check.py).results/e7/vecdb_quant.json؛ تدقيق FAISS والهجوم المنفَّذ: results/e7/faiss_integrity.json؛
ميزانية البواقي: results/e7/guard_budget.json.results/e7/analysis.json (الإجابات الصحيحة والرفض) وresults/e7/e2e_checks.json
(الأسئلة نفسها، الميزانية الزاوية، الحمولة في سياق أفضل 3).results/e2/decomposition.json؛ التكلفة بجانب النموذج اللغوي (E4): results/e4/.results/figures/fig_margin_law.pdf (الشكل 1) وresults/figures/fig_vdb.pdf (الشكل 2)، يُعاد توليدها بواسطة
analysis/make_figures.py.results/e7/squad_question_vectors.npz
(analysis/margin_law_squad.py) وresults/e7/proxy_vectors.npz (analysis/margin_law.py).results/e7/vecs/ (تُكتب بواسطة
desktop/beir_margins.py)، وresults/e7/scale_*.npy (تُكتب بواسطة سكربتات التحقق من الشيفرة)،
وdata/beir/ وartifacts/models/ (تُكتب بواسطة desktop/export_onnx.py).بعض سكربتات التحليل تحمّل ذاكرات مؤقتة أنشأتها بنفسها باستخدام numpy.load(..., allow_pickle=True)؛
لا تحمّل مثل هذه الملفات إلا من تشغيلاتك الخاصة، ولا تحمّلها أبدًا من مصادر غير موثوقة.
النماذج ومجموعات البيانات وتراخيصها مدرجة في DATA_LICENSES.md. يُرجى أيضًا الاستشهاد بـ SQuAD 2.0 (Rajpurkar et al., 2018)
وBEIR (Thakur et al., 2021) وMS MARCO (Bajaj et al., 2016) وBGE-M3 (Chen et al., 2024) وSentence-BERT (Reimers and
Gurevych, 2019) عند استخدام الأجزاء المقابلة.
LICENSE).حقوق النشر 2026 securagen.ai P.C. رخصة MIT للشيفرة ونتائجنا؛ البيانات المشتقة من SQuAD، وملفات النتائج التي تحتوي على نص SQuAD
والإجابات المولَّدة تبقى بموجب CC BY-SA 4.0؛ انظر LICENSE وDATA_LICENSES.md للتفاصيل وللاطلاع على شروط
مجموعات البيانات والنماذج الأخرى.