Kutatua Makosa ya Encoding katika Upimaji wa LLM wa Ndani

Nilitaka kutengeneza zana ya kubadilisha na kupima (benchmark) modeli za LLM za ndani. Pia niliongeza maswali mengi ya upimaji ya Kikorea ili kuzijaribu vizuri zaidi.

Kila kitu kilikuwa kinafanya kazi vizuri hadi nilipofanya upimaji. Nilikuwa nikiendelea kuona kosa hili: UnicodeEncodeError: 'cp949' codec can't encode characters.

Nilidhani tatizo lilikuwa kwenye kodi yangu ya Python. Nilijaribu kubadilisha mipangilio yangu ya encoding kuwa utf-8. Nilijaribu kutafsiri (decode) maandishi (strings) kwa mkono. Hakuna kilichofanya kazi kwa saa kadhaa.

Tatizo halisi halikuwa kwenye skripti yangu. Local LLM worker ilikuwa ikijaribu kuhifadhi majibu ya modeli kwa kutumia encoding ya mfumo (system default encoding). Kwenye Windows, hii mara nyingi huwa ni CP949. Wakati worker ilipojaribu kuhifadhi herufi za Kikorea kwa kutumia CP949, ilishindwa.

Suluhisho lilikuwa rahisi. Nilibadilisha worker itumie utf-8 waziwazi wakati wa kuhifadhi faili.

Pia nilitengeneza mfumo wa kiotomatiki wa kusimamia mchakato huu. Unafuata hatua hizi:

Kupitia otomatiki hii, niligundua kuwa Gemma2:2b inafanya kazi vizuri zaidi kuliko modeli ya EXAONE kwa kazi za lugha ya Kikorea. Inatoa majibu ya asili zaidi na matokeo bora ya ubunifu kwa kasi inayofanana.

Mafunzo niliyopata:

Chanzo: https://dev.to/junhee916/resolving-cp949-errors-in-local-llm-benchmarking-and-building-an-automatic-model-recommendation-128g

Jumuia ya hiari ya kujifunza: https://t.me/GyaanSetuAi