حل مشكلات الترميز في اختبارات أداء نماذج LLM المحلية

أردت بناء أداة للتبديل بين نماذج LLM المحلية واختبار أدائها. كما أضفت العديد من أسئلة الاختبار الكورية لاختبارها بشكل أفضل.

سار كل شيء على ما يرام حتى بدأت بتشغيل اختبارات الأداء. استمر ظهور هذا الخطأ: UnicodeEncodeError: 'cp949' codec can't encode characters.

اعتقدت أن المشكلة تكمن في كود Python الخاص بي. حاولت تغيير إعدادات الترميز إلى utf-8 وحاولت فك ترميز النصوص يدويًا، لكن دون جدوى لساعات.

لم تكن المشكلة في السكربت الخاص بي، بل كانت في "عامل" (worker) الـ LLM المحلي الذي كان يحاول حفظ استجابات النموذج باستخدام ترميز النظام الافتراضي. في نظام Windows، غالبًا ما يكون هذا الترميز هو CP949. وعندما حاول العامل حفظ أحرف كورية باستخدام CP949، فشل الأمر.

كان الحل بسيطًا؛ قمت بتغيير العامل ليستخدم utf-8 بشكل صريح عند حفظ الملفات.

كما قمت ببناء نظام مؤتمت لإدارة هذه العملية، وهو يتبع الخطوات التالية:

من خلال هذه الأتمتة، وجدت أن Gemma2:2b يتفوق بكثير على نموذج EXAONE في مهام اللغة الكورية، حيث يقدم إجابات أكثر طبيعية ونتائج إبداعية أفضل وبسرعة مماثلة.

الدروس المستفادة:

المصدر: https://dev.to/junhee916/resolving-cp949-errors-in-local-llm-benchmarking-and-building-an-automatic-model-recommendation-128g

مجتمع تعليمي اختياري: https://t.me/GyaanSetuAi