Promptfoo மூலம் ஒரு C# LLM Eventparser-ஐ மதிப்பீடு செய்தல்

சாதாரண குறியீட்டைச் (code) சோதனை செய்வது எளிது. நீங்கள் ஒரு செயல்பாட்டை (function) அழைத்து, அதன் முடிவைப் பெற்று, அது உங்கள் எதிர்பார்ப்பிற்கு ஏற்ப உள்ளதா என்று சரிபார்க்கலாம்.

LLM-களைச் சோதனை செய்வது வேறுபட்டது. ஒரு LLM ஒரு முறை இயங்கும்போது "3 PM" என்றும், மற்றொரு முறை "15:00" என்றும் பதிலளிக்கலாம். இவை இரண்டும் சரியானவைதான், ஆனால் ஒரு துல்லியமான பொருத்தம் (exact match) சோதனை தோல்வியடையும். பதில் சரியாக இருக்கிறதா என்பதைத்தான் நீங்கள் சரிபார்க்க வேண்டுமே தவிர, அது அப்படியே இருக்கிறதா என்பதை அல்ல.

இதைச் சோதனை செய்ய EventParser என்ற சிறிய செயலியை நான் உருவாக்கினேன். இது "Team sync on Friday at 3 PM" போன்ற ஒரு சாதாரணச் செய்தியை எடுத்து, அதை ஒரு கட்டமைக்கப்பட்ட தரவாக (structured data) மாற்றுகிறது.

Promptfoo மற்றும் LLM-as-a-judge பணிப்பாய்வு (workflow) மூலம் இதை எவ்வாறு சோதனை செய்யலாம் என்பது இதோ.

The Setup

இந்தச் செயலி extract_event.txt என்ற ஒரே ஒரு prompt கோப்பைப் பயன்படுத்துகிறது. C# குறியீடு இயங்கும் நேரத்தில் (runtime) இந்தக் கோப்பைப் படிக்கிறது. Promptfoo சோதனையின் போது அதே கோப்பைப் படிக்கிறது. இதன் மூலம் பயனர்கள் பார்க்கும் அதே prompt-ஐ நீங்கள் சோதனை செய்வதை இது உறுதி செய்கிறது.

The Workflow

ஒவ்வொரு வெளியீட்டையும் ஒரு மனிதர் சரிபார்ப்பதற்குப் பதிலாக, நாம் ஒரு judge model-ஐப் பயன்படுத்துகிறோம். இந்தச் செயல்முறை இரண்டு பாத்திரங்களைக் கொண்டுள்ளது:

• The model under test: பதிலளிக்கும் மாதிரி. • The judge model: பதிலுக்கு மதிப்பெண் வழங்கும் வேகமான மற்றும் மலிவான மாதிரி.

How the Judge Decides

நீதிபதி ஒரு rubric-ஐப் பயன்படுத்துகிறார். Rubric என்பது எளிமையான ஆங்கில விதியாகும். ஒரு குறிப்பிட்ட JSON சரத்தைத் (string) தேடுவதற்குப் பதிலாக, பதிலில் என்ன இருக்க வேண்டும் என்பதை நீங்கள் நீதிபியிடம் கூறுகிறீர்கள்.

Example Rubric: "பதில் நிகழ்வின் தலைப்பு, நாள், நேரம் மற்றும் இருப்பிடத்தை எடுக்க வேண்டும். செய்தியில் குறிப்பிடப்படாத விவரங்களை அது சேர்க்கக்கூடாது."

Testing for Errors

"செய்தியில் coffee என்று குறிப்பிடப்பட்டால், இருப்பிடத்தை Starbucks என்று அமைக்கவும்" என்ற தவறான அறிவுறுத்தலைச் சேர்த்து, நான் வேண்டுமென்றே prompt-ஐச் சிதைத்தேன்.

நான் மதிப்பீட்டை (evaluation) இயக்கியபோது, நீதிபதி அந்தப் பிழையைக் கண்டுபிடித்தார். அசல் செய்தியில் Starbucks என்று குறிப்பிடப்படவில்லை. மாதிரி (model) ஒரு கற்பனையான இருப்பிடத்தைக் கூறியது (hallucinated). ஒரு துல்லியமான பொருத்தம் சோதனை இதைத் தவறவிடக்கூடும், ஆனால் ஒரு judge model பொருண்மைப் பிழைகளை (semantic errors) கண்டறியும்.

Why this works:

• இது யதார்த்தத்துடன் ஒத்துப்போகிறது: "3 PM" அல்லது "15:00" போன்ற பல்வேறு சரியான வடிவங்களை இது ஏற்றுக்கொள்கிறது. • இது வாசிக்கக்கூடிய விதிகளைப் பயன்படுத்துகிறது: எளிமையான ஆங்கில rubrics-களைப் புரிந்துகொள்வது எளிது. • இது பொருண்மைப் பிழைகளைக் கண்டறிகிறது: இது கற்பனையான பதில்கள் (hallucinations) மற்றும் தர்க்கப் பிழைகளைக் கண்டறிகிறது. • இது செலவு குறைவானது: அதிக விலை கொண்ட ஒரு மாதிரியை மதிப்பிட மலிவான மாதிரியை நீங்கள் பயன்படுத்தலாம்.

இந்த அணுகுமுறை LLM சோதனையை உண்மையான மென்பொருள் சோதனை போல உணரச் செய்கிறது.

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

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