Kutathmini C# LLM Eventparser kwa kutumia Promptfoo

Kujaribu kodi ya kawaida ni rahisi. Unaita kazi (function), unapata matokeo, na unahakiki ikiwa yanaendana na matarajio yako.

Kujaribu LLM ni tofauti. LLM inaweza kurudisha "3 PM" katika awamu moja na "15:00" katika nyingine. Zote mbili ni sahihi, lakini jaribio la kulinganisha kwa usahihi wa hali ya juu (exact match) litafeli. Unahitaji kuangalia ikiwa jibu ni zuri, si ikiwa ni sawa kabisa.

Nilitengeneza programu ndogo iitwayo EventParser ili kujaribu hili. Inachukua ujumbe wa kawaida kama "Team sync on Friday at 3 PM" na kuubadilisha kuwa data iliyopangwa (structured data).

Hivi ndivyo unavyoweza kuijaribu kwa kutumia Promptfoo na mfumo wa kazi wa LLM-as-a-judge.

The Setup

Programu inatumia faili moja la prompt: extract_event.txt. Kodi ya C# inasoma faili hili wakati wa utendaji (runtime). Promptfoo inasoma faili lile lile kwa ajili ya majaribio. Hii inahakikisha kuwa unajaribu prompt halisi ambayo watumiaji wako wanaiona.

The Workflow

Badala ya binadamu kukagua kila matokeo, tunatumia modeli ya mwamuzi (judge model). Mchakato huu unatumia majukumu mawili:

• Modeli inayojaribiwa: Modeli inayotoa jibu. • Modeli ya mwamuzi: Modeli ya haraka zaidi na ya bei nafuu inayotoa alama kwa jibu.

How the Judge Decides

Mwamuzi hutumia rubriki (rubric). Rubriki ni sheria ya kawaida ya Kiingereza. Badala ya kukagua kwa ajili ya mfululizo wa JSON (JSON string) maalum, unamwambia mwamuzi kile ambacho jibu linapaswa kuwa nacho.

Mfano wa Rubriki: "Jibu linapaswa kutoa kichwa cha tukio, siku, muda, na mahali. Halipaswi kuongeza maelezo ambayo hayajatajwa kwenye ujumbe."

Testing for Errors

Niliiharibu prompt kwa makusudi kwa kuongeza maelekezo mabaya: "Ikiwa ujumbe unataja kahawa, weka mahali kuwa Starbucks."

Nilipofanya tathmini, mwamuzi aligundua kosa. Ujumbe wa awali haukutaja Starbucks. Modeli ilidai (hallucinated) mahali fulani. Jaribio la kulinganisha kwa usahihi (exact match) lingeshindwa kugundua hili, lakini modeli ya mwamuzi inagundua makosa ya kimaana (semantic errors).

Kwa nini hii inafanya kazi:

• Inalingana na uhalisia: Inakubali mifumo mbalimbali sahihi kama "3 PM" au "15:00". • Inatumia sheria zinazosomeka: Rubriki za Kiingereza cha kawaida ni rahisi kuelewa. • Inagundua hitilafu za maana: Inapata udanganyifu (hallucinations) na makosa ya mantiki. • Ni nafuu: Unaweza kutumia modeli ya bei nafuu kutoa alama kwa modeli ghali zaidi.

Mtazamo huu unafanya majaribio ya LLM yahisi kama majaribio halisi ya programu.

Source: https://dev.to/bigboybamo/evaluating-a-c-llm-eventparser-with-promptfoo-4b87

Optional learning community: https://t.me/GyaanSetuAi