అడ్వాన్స్‌డ్ RAG టెక్నిక్స్ ఎప్పుడూ మెరుగ్గా ఉండవు. అవి కొన్ని సందర్భాల్లో మాత్రమే మెరుగ్గా ఉంటాయి.

అడ్వాన్స్‌డ్ RAG టెక్నిక్స్ అంటే ఉచిత అప్‌గ్రేడ్‌లు కావు. అవి కొన్ని లాభనష్టాలతో (tradeoffs) కూడిన సాధనాలు.

నేను Anthropic డాక్యుమెంటేషన్‌ను ఉపయోగించి ఒక RAG పైప్‌లైన్‌పై ఐదు రిట్రీవల్ (retrieval) పద్ధతులను పరీక్షించాను. వాటిలో ఏవి నిజంగా వాటి సంక్లిష్టతకు తగిన ఫలితాలను ఇస్తాయో చూడాలనుకున్నాను.

నేను కనుగొన్న విషయాలు ఇక్కడ ఉన్నాయి:

• Dense Retrieval: ఇది బేస్‌లైన్. ఇది బాగా పనిచేస్తుంది కానీ ఖచ్చితమైన పదాలను (exact terms) గుర్తించడంలో విఫలమవుతుంది. • Hybrid Search: ఇది dense మరియు keyword సెర్చ్‌లను కలిపి ఉపయోగిస్తుంది. Dense గుర్తించలేని ఖచ్చితమైన పదాలను ఇది కనుగొంటుంది. కానీ మీరు ఫలితాలకు సరైన వెయిటేజీని (weight) ఇవ్వాలి, లేకపోతే సరైన సమాచారం (signal) కనిపించదు. • Reranking: ఇది అభ్యర్థులను (candidates) స్కోర్ చేయడానికి cross-encoderను ఉపయోగిస్తుంది. సరైన చంక్ (chunk) ఫలితాల్లో చాలా కింద ఉన్నప్పుడు ఇది సహాయపడుతుంది. • HyDE: ఇది డేటాను కనుగొనడానికి ఒక ఊహాజనిత సమాధానాన్ని (hypothetical answer) ఉపయోగిస్తుంది. ఇది ప్రమాదకరమైనది. ఇది సాధారణ ప్రశ్నలకు (casual queries) సహాయపడుతుంది. కానీ ప్రత్యక్ష ప్రశ్నల (direct queries) విషయంలో ఇది అంతా తలకిందులు చేస్తుంది. ఒక పరీక్షలో Recall 0.80 నుండి 0.17కి పడిపోయింది. • Contextual Retrieval: ఇది చంక్స్‌కు సమ్మరీలను (summaries) జోడిస్తుంది. ఇది చిన్న చంక్స్‌కు సహాయపడుతుంది కానీ LLM ఫీజుల ఖర్చును పెంచుతుంది.

HyDE గురించి నేర్చుకున్న అతిపెద్ద పాఠం ఏమిటంటే, ఇది "సెట్ అండ్ ఫర్గెట్" (set and forget) చేసే సాధనం కాదు. యూజర్ ప్రశ్న మరియు మీ డాక్యుమెంట్లు వేర్వేరు భాషల్లో ఉన్నప్పుడు మాత్రమే దీనిని ఉపయోగించాలి. దీనిని ఎప్పుడు ఉపయోగించాలో నిర్ణయించడానికి మీకు ఒక రూటర్ (router) అవసరం.

కొలమానాల (measurement) గురించి కూడా నేను ఒక పాఠం నేర్చుకున్నాను.

నేను ఎవాల్యుయేషన్ (evaluation) కోసం Ragasని ఉపయోగించడానికి ప్రయత్నించాను. అది చాలా నెమ్మదిగా ఉంది. విఫలమైన కాల్స్‌ను మళ్ళీ ప్రయత్నించడానికి (retrying) అది గంటల సమయం తీసుకుంది. అందుకే నేను నా స్వంత async harnessను నిర్మించాలని నిర్ణయించుకున్నాను. 11 గంటలకు బదులుగా, నా ఎవాల్యుయేషన్ కేవలం 221 సెకన్లలో పూర్తయింది.

AI సాధనాలను బ్లాక్ బాక్స్‌లుగా (black boxes) చూడకండి. ఏదైనా సాధనం నెమ్మదిగా ఉన్నా లేదా విఫలమవుతున్నా, దాని వెనుక ఉన్న గణితాన్ని (math) పరిశీలించండి. అవసరమైతే మీ స్వంత పరిష్కారాన్ని నిర్మించుకోండి.

పని అంటే కేవలం కొత్త ఫీచర్లను జోడించడం మాత్రమే కాదు. మీ సిస్టమ్‌లో ఏ ఫీచర్ తన స్థానాన్ని సంపాదించుకోగలదో కొలవడం కూడా పని భాగమే.

ఏది ఎప్పుడు ఉపయోగించాలో సారాంశం:

  • Hybrid: ప్రశ్నలు ఖచ్చితమైన పారామీటర్లపై (exact parameters) ఆధారపడినప్పుడు ఉపయోగించండి.
  • HyDE: ప్రశ్నలు సరిగ్గా లేనప్పుడు (phrased poorly) ఉపయోగించండి.
  • Reranking: రిట్రీవల్ విస్తృతంగా ఉండి, కానీ ఖచ్చితంగా లేనప్పుడు ఉపయోగించండి.
  • Contextual: మీ చంక్స్‌లో సందర్భం (context) లేనప్పుడు ఉపయోగించండి.

"state of the art" కోసం వెతకడం ఆపండి. మీ ఫలితాలను కొలవడం ప్రారంభించండి.

Source: https://dev.to/yogesh23012001/advanced-rag-techniques-arent-better-theyre-better-sometimes-4m2o

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