જે ટીમો Retrieval-Augmented Generation (RAG) ને ડેમોમાંથી પ્રોડક્શન સર્વિસમાં લઈ જઈ રહી છે, તેમણે કેટલાક એવા નિર્ણયો લેવા પડે છે જે એક ઉપયોગી આસિસ્ટન્ટ અને અસ્પષ્ટ (noisy) આસિસ્ટન્ટ વચ્ચેનો તફાવત નક્કી કરે છે. પાંચ ડિઝાઇન પસંદગીઓ—chunking, embedding model, vector store, hybrid search, અને evaluation—વાસ્તવિક વપરાશકર્તાઓ અનુભવે છે તેવા precision, recall, અને latency ને નિયંત્રિત કરે છે.
પ્રોટોટાઇપથી પ્રોડક્શન સુધીનું પરિવર્તન શા માટે મહત્વનું છે
મોટાભાગના ટ્યુટોરિયલ્સ થોડી લાઈનોના કોડમાં RAG પાઇપલાઇન ચલાવી દે છે, પરંતુ લાઇવ ટ્રાફિક માટે જરૂરી એન્જિનિયરિંગ ચોકસાઈ (rigor) સુધી પહોંચતા અટકી જાય છે.
1. Chunking strategy – પ્રથમ ક્વોલિટી ગેટ
Chunk size સૌથી વધુ મહત્વનું છે. મોટા chunks અપ્રસ્તુત લખાણ સાથે મુખ્ય માહિતીને દબાવી દે છે; જ્યારે ખૂબ નાના chunks તે સંદર્ભ (context) ને દૂર કરી દે છે જે મોડેલને સુસંગત જવાબો આપવા માટે જરૂરી છે. ફિક્સ્ડ-સાઇઝ સ્પ્લિટિંગ (Fixed-size splitting) મૂળ સામગ્રીના કુદરતી માળખાને અવગણે છે.
વ્યવહારુ નિયમ (Practical rule-of-thumb)
- તાર્કિક સીમાઓ પર વિભાજિત કરો: દસ્તાવેજોમાં હેડર્સ, લેખોમાં પેરેગ્રાફ બ્રેક્સ, કોડમાં ફંક્શન ડેફિનેશન.
- ચોક્કસ રીટ્રાઇવલ (retrieval) માટે chunks ને પૂરતા નાના રાખો, પરંતુ LLM ના જનરેશન સ્ટેપ માટે મોટા પેરેન્ટ સેક્શનને જાળવી રાખો. આ “parent-child” પેટર્ન રીટ્રાઇવરને ચોક્કસ સ્નિપેટ શોધવામાં મદદ કરે છે, જ્યારે જનરેટર પાસે તથ્યપૂર્ણ રહેવા માટે પૂરતો સંદર્ભ હોય છે.
2. Embedding models – સમાનતા કેવી રીતે નક્કી થાય છે
Embedding model ટેક્સ્ટને વેક્ટર્સમાં ફેરવે છે જેની similarity search engine દ્વારા સરખામણી કરવામાં આવે છે. OpenAI નું text-embedding-3-large જેવું મજબૂત જનરલ-પર્પઝ મોડેલ મોટાભાગના ડોમેન્સ માટે એક મજબૂત બેઝલાઇન આપે છે. જો કોર્પસ (corpus) કોઈ અત્યંત વિશિષ્ટ ક્ષેત્રમાં હોય—જેમ કે કાનૂની અભિપ્રાયો, મેડિકલ રેકોર્ડ્સ, ટેકનિકલ સ્પેસિફિકેશન્સ—તો ડોમેન-સ્પેસિફિક મોડેલ ટેસ્ટ કરો, પરંતુ તે તમારા પોતાના ડેટા પર નોંધપાત્ર સુધારો જોવા મળ્યા પછી જ કરવું.
ક્યારે બદલવું (When to switch)
- માત્ર ત્યારે જ બદલો જો તમે તમારા એપ્લિકેશન માટે મહત્વપૂર્ણ રિલેવન્સ સ્કોર્સમાં માપી શકાય તેવો વધારો જુઓ છો (દા.ત., ઉચ્ચ context precision).
3. Vector database – સ્ટોરેજનું સ્કેલિંગ
એવું vector store પસંદ કરો જે તમારા હાલના ઇન્ફ્રાસ્ટ્રક્ચર અને વેક્ટર્સની અપેક્ષિત સંખ્યાને અનુરૂપ હોય.
- pgvector PostgreSQL ની અંદર ચાલે છે અને લગભગ દસ લાખ વેક્ટર્સને સરળતાથી હેન્ડલ કરી શકે છે. તે એવા ટીમો માટે આદર્શ છે જે પહેલેથી જ રિલેશનલ ડેટાબેઝ ચલાવે છે અને ઓછા મેન્ટેનન્સવાળા સોલ્યુશનની જરૂર છે.
- Qdrant 1 M–100 M ની રેન્જમાં શ્રેષ્ઠ કામ કરે છે, જે મોટા કોર્પસ માટે ઉચ્ચ થ્રુપુટ અને ઓછી લેટન્સી (latency) આપે છે.
- Pinecone સંપૂર્ણ રીતે મેનેજ્ડ ક્લાઉડ સર્વિસ પૂરી પાડે છે, જે સેલ્ફ-હોસ્ટિંગના ઓપરેશનલ બોજને દૂર કરે છે.
4. Hybrid search અને reranking – અર્થ અને ચોકસાઈ વચ્ચે સંતુલન
શુદ્ધ vector search સેમેન્ટિક સમાનતામાં ઉત્તમ છે પરંતુ વપરાશકર્તાઓ જે અપેક્ષા રાખે છે તેવા ચોક્કસ કીવર્ડ મેચિસ ચૂકી શકે છે. Hybrid search વેક્ટર ઇન્ડેક્સ પર પરંપરાગત BM25 કીવર્ડ ઇન્ડેક્સનું લેયર ઉમેરે છે, અને પછી બંને રિઝલ્ટ લિસ્ટને જોડે છે. Reciprocal Rank Fusion (RRF) બંને લિસ્ટમાં તેના રેન્ક પર આધારિત દરેક ઉમેદવારને સ્કોર આપે છે અને તેમને જોડે છે, જેનાથી જે આઇટમ્સ કોઈપણ લિસ્ટમાં ઊંચા ક્રમે હોય તેને પ્રોત્સાહન મળે છે.
Reranking અંતિમ ચોકસાઈ ફિલ્ટર ઉમેરે છે. Hybrid retrieval પછી, top-N (સામાન્ય રીતે 50) ઉમેદવારોને cross-encoder ને આપો—જે એક એવું મોડેલ છે જે query-document જોડીને સંયુક્ત રીતે સ્કોર આપે છે. Cross-encoder ના સ્કોર્સ મૂળ similarity નંબર્સનું સ્થાન લે છે, જે તમને LLM ને મોકલતા પહેલા સૌથી સુસંગત chunk પસંદ કરવા દે છે. આ વધારાનું સ્ટેપ ઘણીવાર જવાબની ગુણવત્તામાં નોંધપાત્ર વધારો કરે છે, ખાસ કરીને લાંબા અથવા અસ્પષ્ટ (noisy) કોર્પસ માટે.
5. Evaluation અને abstention – જે મહત્વનું છે તેનું માપન
તમે એવી સિસ્ટમને સુધારી શકતા નથી જેને તમે માપી શકતા નથી. RAGAS ફ્રેમવર્ક ચાર મેટ્રિક્સ સૂચવે છે જે સાથે મળીને RAG પાઇપલાઇનનું સ્વાસ્થ્ય દર્શાવે છે:
- Context Precision – રીટ્રાઇવ કરેલા chunks માંથી કેટલા ખરેખર જવાબ ધરાવે છે તેનો પ્રમાણ.
- Context Recall – તમામ સુસંગત chunks માંથી કેટલા રીટ્રાઇવ કરવામાં આવ્યા છે તેનો હિસ્સો.
- Faithfulness – જનરેટ થયેલ જવાબ રીટ્રાઇવ કરેલા સંદર્ભની મર્યાદામાં રહે છે કે નહીં, જેથી Hallucinations ટાળી શકાય.
- Answer Relevance – અંતિમ જવાબ મૂળ ક્વેરીને કેટલી સારી રીતે સંતોષે છે.
આ મેટ્રિક્સને પ્રોડક્શન ટ્રાફિકને પ્રતિબિંબિત કરતા રોલિંગ ટેસ્ટ સેટ પર ટ્રેક કરો.
એક અંતિમ, જે ઘણીવાર અવગણવામાં આવે છે તે સુરક્ષા વ્યવસ્થા છે abstention. મોડેલને ઓછા આત્મવિશ્વાસ સાથે જવાબ આપવા માટે મજબૂર કરવાને બદલે, faithfulness અથવા relevance સ્કોર પર એક થ્રેશોલ્ડ સેટ કરો જે “મને ખબર નથી” (I don’t know) પ્રતિસાદ ટ્રિગર કરે. વપરાશકર્તાઓ આત્મવિશ્વાસપૂર્ણ પરંતુ ખોટા જવાબ કરતા અનિશ્ચિતતાના સ્પષ્ટ સ્વીકારને વધુ પસંદ કરે છે, અને આ ફોલબેક (fallback) ડાઉનસ્ટ્રીમ સપોર્ટ ખર્ચ ઘટાડે છે.
આ પાંચેય ક્ષેત્રોને માત્ર 'સેટ-એન્ડ-ફોરગેટ' કોન્ફિગરેશન તરીકે નહીં, પરંતુ એક નિર્ણયના બિંદુ તરીકે જુઓ, અને તમે RAG ને આકર્ષક ડેમોમાંથી વિશ્વસનીય પ્રોડક્શન સર્વિસમાં બદલી શકશો. તેનું પરિણામ: એક એવી સિસ્ટમ જે ઝડપથી જવાબ આપે છે, વિષય પર રહે છે, અને ક્યારે મૌન રહેવું તે જાણે છે.
