يحتوي هذا المشروع على التعليمات البرمجية الأساسية ، والرمز المفرط ، ونصوص الأتمتة المستخدمة لاختبار نماذج اللغة القدرة على تفسير التعليمات البرمجية المفرطة. تم إنشاء هذا لمخطط المشروع في Language Models and Obfuscated Code في دليل Academic_Work . ستساعد الورقة في توضيح ما يفعله معظم هذا لأن هذا Readme خشن للغاية.
قم بإنشاء المصنف الذي سيتم تخزين نتائجك.
قم بتشغيل البرنامج النصي codeLoader.py من الدليل الرئيسي باستخدام أمر python Automation/codeLoader.py .
root_dir_workbook إلى المكان الذي يتم فيه تخزين المصنف الخاص بك.current_workbook على اسم المصنف الذي أنشأته في الخطوة الأولى. الآن يجب أن يكون لديك مصنف يحتوي على مجموعتين من الأوراق. تلك التي تم تسميتها B1 و B2 و .... والألواح التي تم تسميتها O1 و O2 و ... يجب أن تحتوي كل أوراق على خط رأس ورمز محفور. يجب أن تحتوي الأوراق المسماة B# على جميع عمليات التغذية لهذا الرمز الأساسي المعطى. يجب أن تحتوي الأوراق المسماة O# على جميع عمليات التغذية من هذا النوع.
هناك بالفعل 3 قوالب أسئلة افتراضية في المجلد Automation/Question_Templates . ستقوم الأسئلة 1 و 2 بإدراج الرمز الأساسي والرمز AND قبل وبعد الملف. السؤال 3 يستخدم فقط التشويش. لإضافة سؤال جديد ، قم بإنشاء الملف في مجلد قالب الأسئلة وإنشاء نسخة من ملف questionLoader_Q1.py وقم بتحريره لمتابعة تنسيق السؤال للسؤال الجديد. التغييرات الرئيسية الوحيدة في الملف الذي تحتاجه هو: إدراج الكود بشكل صحيح في السؤال الجديد عند إنشاء سلسلة الأسئلة والأعمدة الموجودة في Excel التي يتم إدراج المعلومات عليها. يجب تغيير متغير question_number إلى رقم السؤال الجديد. question_column تملي مكان إدراج السؤال في جدول البيانات. answer_column تملي مكان وضع الاستجابة. سيحتاج ملف codeLoader.py أيضًا إلى تحريره للحصول على مسقطات تصنيف الصواب للسؤال الجديد. ستحتاج أيضًا إلى تحرير جدول بيانات Template لإضافة رؤوس السؤال الجديد.
واجهات برمجة تطبيقات طراز اللغة الثلاثة التي تم إعدادها بالفعل هي Openai's ChatGPT 3.5 و AI21 من Jurassic-2 و Google Palm. الملفات التي تحتوي على مكالمات API موجودة في دليل Automation . لإضافة نموذج لغة آخر ، ما عليك سوى إنشاء ملف يحتوي على طريقة تدعى askQuestion تأخذ السؤال كسلسلة.
يجب إنشاء Automation/key.py لعقد مفاتيح واجهة برمجة التطبيقات.
بمجرد تشغيل البرنامج النصي codeLoader.py . اختر سؤالاً لتشغيله من الملفات المسماة questionLoader_Q#.py .
root_dir_workbook إلى نفس الدليل المستخدم في codeLoader.pycurrent_workbook إلى المصنف الذي تم إنشاؤه مسبقًا.LM إلى اسم LM الذي تريد استخدامه.Automation باستخدام الأمر python questionLoader_Q1.pyNONE على الأسئلة. إنه خطأ في واجهة برمجة التطبيقات وأسئلتنا التي لم يتم النظر فيها. المجلد Compiled_Code والملفات C_codeLoader.py و C_questionLoader_Q#.py هي للاتجاهات المستقبلية في هذا البحث. يحتوي مجلد Compiled_Code على إصدار التجميع لجميع الكود المقلوب ، الذي تم إنشاؤه باستخدام https://godbolt.org/. ملفات C_ هي إصدارات تم تغييرها من البرامج النصية العادية التي تم إنشاؤها للعمل مع الكود المترجم. ملاحظة: إذا كنت تريد تشغيل الأسئلة باستخدام الكود المترجم ، فإن حجم الرمز المميز كبير جدًا في العديد من الحالات بسبب طول رمز التجميع.
من المحتمل أن تكون هناك ملفات عشوائية أخرى ، ولكن يجب أن تكون معظم الملفات وظيفية.
تم اختبار هذا فقط على Windows 10 على جهاز كمبيوتر واحد. إذا كان يعمل على جهاز الكمبيوتر الخاص بي ، فأنا متأكد من أنه سيعمل على لك. البرنامج الإضافي الوحيد المطلوب هو Excel.
openpyxl في هذا المشروع لتنسيق البيانات في جداول بيانات Excel. يجب أن تكون المكتبة متاحة من خلال PIP.