એક નવા WhatsApp-આધારિત RAG (retrieval-augmented generation) આસિસ્ટન્ટે દરેક જવાબ માટે JSON-એન્કોડેડ સાઇટેશન (સંદર્ભ) હોવું જરૂરી બનાવીને ભ્રામક માહિતી (hallucinating) આપવાનું બંધ કરી દીધું છે. જ્યારે મોડેલ કોઈ ચોક્કસ ચંક (chunk) તરફ નિર્દેશ કરી શકતું નથી, ત્યારે તે “મારી પાસે આનો જવાબ આપવા માટે પૂરતી માહિતી નથી” એવું કહે છે, જેનાથી એક આત્મવિશ્વાસથી ભરેલો જૂઠો બોલનાર સિસ્ટમ હવે એક વિશ્વાસપાત્ર “મને ખબર નથી” એવી સિસ્ટમમાં બદલાઈ ગઈ છે.

RAG માં વિશ્વાસ કેમ મહત્વનો છે

RAG પરના મોટાભાગના ટ્યુટોરિયલ્સ રિટ્રીવલ (retrieval) પર વધુ ધ્યાન આપે છે—જેમ કે એમ્બેડિંગ્સ (embeddings) પસંદ કરવા, દસ્તાવેજોને ચંક્સ (chunks) માં વિભાજિત કરવા, પરિણામોને રી-રેન્ક (re-ranking) કરવા. તેઓ સુસંગત ટેક્સ્ટ મળી ગયા પછી શું થાય છે તે અવગણે છે. જ્યારે આસિસ્ટન્ટ એવો ચોક્કસ જવાબ આપે છે જે રિટ્રીવ કરેલા સંદર્ભ (context) દ્વારા વાસ્તવમાં સમર્થિત નથી હોતો, ત્યારે વપરાશકર્તાઓનો વિશ્વાસ તૂટી જાય છે.

આત્મવિશ્વાસનું અંતર

PostgreSQL અને pgvector extension સાથે બનાવેલા પ્રોટોટાઇપમાં, રિટ્રીવલ પાઇપલાઇન સરળ હતી. વાસ્તવિક પડકાર પ્રોડક્શનમાં જોવા મળ્યો: જ્યારે રિટ્રીવ કરેલા સ્નિપેટ (snippet) માં જરૂરી માહિતીનો અભાવ હતો, ત્યારે પણ લેંગ્વેજ મોડેલ ચોક્કસ હોવાનો અહેસાસ કરાવતું હતું. ડેમોમાં આ સમસ્યા છુપાઈ શકે છે, પરંતુ વાસ્તવિક વપરાશકર્તાઓએ આત્મવિશ્વાસથી બોલવું અને સાચા હોવું વચ્ચેના અંતરને ખુલ્લું પાડ્યું.

JSON સાથે સાઇટેશનનો અમલ કરવો

“જો તમારી પાસે સંદર્ભ હોય તો જ જવાબ આપો” જેવા પ્રોમ્પ્ટ્સ દ્વારા મોડેલને સમજાવવાને બદલે, લેખકે આઉટપુટ ફોર્મેટ બદલી નાખ્યું. સિસ્ટમ હવે JSON ઓબ્જેક્ટની માંગ કરે છે જ્યાં દરેક દાવા (claim) માં તેને સમર્થન આપતા ચોક્કસ ચંકનો સંદર્ભ સામેલ હોય છે. જો મોડેલ સાઇટેશન જોડવામાં અસમર્થ હોય, તો પ્રતિસાદ નકારી દેવામાં આવે છે અને વપરાશકર્તાને સ્પષ્ટ “મને ખબર નથી” એવો સંદેશ દેખાય છે.

આ અમલીકરણ નેચરલ-લેંગ્વેજ સૂચનાઓથી બદલાઈને સ્કીમા વેલિડેશન (schema validation) પર આવી ગયું. મોડેલ હજુ પણ ટેક્સ્ટ જનરેટ કરે છે, પરંતુ આસપાસનો કોડ વપરાશકર્તા સુધી પહોંચતા પહેલા તે તપાસે છે કે JSON જરૂરી સ્ટ્રક્ચર સાથે મેળ ખાય છે કે નહીં.

શું બદલાયું

  • ચંકિંગ (Chunking) વધુ સાવચેતીભર્યું બન્યું. અસ્પષ્ટ અથવા વધુ પડતા વ્યાપક ચંક્સ હવે સાઇટેશન વગરના દાવાઓ જનરેટ કરે છે, જેનાથી “મને ખબર નથી” વાળો ફોલબેક (fallback) ટ્રિગર થાય છે.
  • સિસ્ટમ પ્રોમ્પ્ટ નાનો થયો. મોડેલના વર્તનને નિયંત્રિત કરવાનો પ્રયાસ કરતા ભારે પ્રોમ્પ્ટને બદલે ટૂંકી સૂચનાઓનો ઉપયોગ કરવામાં આવ્યો, જેથી સ્કીમા મુખ્ય કામ કરી શકે.
  • નિષ્ફળતાઓ દેખાય છે. જ્યારે રિટ્રીવલ અપ્રસ્તુત સામગ્રી આપે છે, ત્યારે આસિસ્ટન્ટ હવે આત્મવિશ્વાસપૂર્ણ પણ ખોટા જવાબ સાથે ભૂલને છુપાવતું નથી; તે ખુલ્લેઆમ અનિશ્ચિતતા સ્વીકારે છે.

Takeaway: RAG આસિસ્ટન્ટ્સ માટે, દરેક દાવો રિટ્રીવ કરેલા સ્ત્રોત સાથે ટ્રેસ કરી શકાય તેવો હોય તેની ખાતરી કરવી એ માત્ર રિટ્રીવલ સ્ટેપને સુધારવા કરતાં વધુ વિશ્વસનીય રીતે વપરાશકર્તાનો વિશ્વાસ કેળવે છે. ખૂટતા સાઇટેશનને દેખીતા “મને ખબર નથી” માં બદલીને, ડેવલપર્સ સિસ્ટમને ખોટા જવાબો બનાવવાની જગ્યાએ તેની મર્યાદાઓ સ્વીકારવા દે છે.