CI/CD માં રગ્રેસન્સ (regressions) પકડવા માટે હું RAG evals કેવી રીતે સેટઅપ કરું છું

એક PR આવે છે. RAG eval એક મિનિટમાં ચાલે છે. તે ગ્રીન ચેક બતાવે છે. તમે કોડ મર્જ કરો છો.

બાર કલાક પછી, સપોર્ટ ટિકિટો આવે છે.

રીટ્રીવરે (retriever) ચોક્કસ ક્વેરી પ્રકાર માટે તેના top-1 chunk માં ફેરફાર કર્યો. તમારો 30-ઉદાહરણોનો ડેટાસેટ ક્યારેય તે કેસને આવરી લેતો નથી. તમારો ટેસ્ટ સ્યુટ ગ્રીન રહ્યો કારણ કે તે ખોટી વસ્તુઓ તપાસી રહ્યો હતો.

મોટાભાગના RAG gates માત્ર smoke tests છે. તેઓ નાના ડેટાસેટ્સ અને નિશ્ચિત floors નો ઉપયોગ કરે છે. જો સરેરાશ (mean) ચોક્કસ સંખ્યાથી ઉપર હોય, તો તેઓ પાસ થઈ જાય છે. આ નિષ્ફળ જાય છે કારણ કે ડેટાસેટ્સ પ્રતિનિધિત્વ કરતા નથી અને થ્રેશોલ્ડ (thresholds) નોઈઝ (noise) ને ધ્યાનમાં લેતા નથી.

એક સારા gate ને ત્રણ વસ્તુઓની જરૂર છે: ઝડપ, ઓછી કિંમત અને આંકડાકીય મહત્વ (statistical significance). તમને સામાન્ય રીતે ફક્ત બે જ મળે છે.

અહીં વિશ્વસનીય RAG gate માટે મારો ફ્રેમવર્ક છે.

થ્રી-ટાયર સ્ટ્રક્ચર (The Three-Tier Structure)

  1. દરેક Push (The PR Gate)
  1. નાઈટલી Main (The Full Sweep)
  1. Canary (Production Monitoring)

5 મુખ્ય રૂબ્રિક્સ (The 5 Core Rubrics)

સિસ્ટમ બરાબર ક્યાં તૂટે છે તે શોધવા માટે, તમારા રૂબ્રિક્સને લેયર મુજબ વિભાજિત કરો:

નોંધ: retrieval recall સ્કોર કરવા માટે તમારે ground-truth doc IDs (expected_chunks) નો ઉપયોગ કરવો જ પડશે. આ વગર, તમે retrieval બગ્સ શોધી શકશો નહીં.

સ્ટેટિસ્ટિકલ ગેટ (The Statistical Gate)

ફક્ત એક નિશ્ચિત સંખ્યા પર જ ગેટ ન કરો. એક નિશ્ચિત floor ધીમા ડ્રિફ્ટ (slow drift) ને ચૂકી જાય છે. બે થ્રેશોલ્ડ (thresholds) નો ઉપયોગ કરો:

Welch's t-test જેવી સ્ટેટિસ્ટિકલ ટેસ્ટનો ઉપયોગ કરો. PR ને ત્યારે જ ફેલ કરો જો ઘટાડો આંકડાકીય રીતે નોંધપાત્ર (statistically significant) હોય અને મહત્વનો હોય તેટલો મોટો હોય. આ ડેવલપર્સને ખોટા એલાર્મ (false alarms) ને કારણે ગેટને અવગણતા અટકાવે છે.

સૌથી મહત્વનો નિયમ (The Most Important Rule)

તમારી બેઝલાઇન એક રોલિંગ પ્રોડક્શન વિન્ડો હોવી જોઈએ, કોઈ સ્થિર સંખ્યા નહીં.

જ્યારે પ્રોડક્શન ડેટા બદલાય, ત્યારે તમારો ડેટાસેટ પણ બદલાવો જોઈએ. નિષ્ફળ જતા પ્રોડક્શન ટ્રેસીસ લો, તેને ક્લસ્ટર કરો, અને તેને તમારા ઇવેલ સેટમાં સામેલ કરો. આ તમારા ગેટને એક લર્નિંગ સિસ્ટમમાં ફેરવી દેશે.

સ્ત્રોત: https://dev.to/kartik-nvjk/how-i-set-up-rag-evals-in-cicd-so-they-actually-catch-regressions-46hb

વૈકલ્પિક લર્નિંગ કોમ્યુનિટી: https://t.me/GyaanSetuAi