𝗪𝗵𝘆 𝗬𝗼𝘂𝗿 𝗥𝗔𝗚 𝗦𝘆𝘀𝘁𝗲𝗺 𝗛𝗮𝗹𝗹𝘂𝗰𝗶𝗻𝗮𝘁𝗲𝘀
آپ کا RAG سسٹم کیوں ہالوسینیٹ (hallucinate) کرتا ہے
آپ کے RAG سسٹم کی ریٹریول (retrieval) ایکوریسی 34% ہے۔ آپ نے ہر ٹیوٹوریل پر عمل کیا۔ آپ نے صحیح لائبریریز استعمال کیں۔ آپ نے کسی بلاگ پوسٹ سے چنک سائز (chunk size) منتخب کیا۔ پھر بھی، سسٹم ناکام ہو جاتا ہے۔
یہ ٹولنگ کا مسئلہ نہیں ہے۔ یہ بنیادی اصولوں (fundamentals) کا مسئلہ ہے۔
جب آپ نیچے موجود تہوں (layers) کو سمجھے بغیر لائبریریز کا ڈھیر لگا دیتے ہیں، تو آپ 'ایبسٹریکشن ڈیٹ' (abstraction debt) پیدا کرتے ہیں۔ آپ رفتار تو حاصل کر لیتے ہیں لیکن ڈی بگ (debug) کرنے کی صلاحیت کھو دیتے ہیں۔ آپ ایک 'بلیک باکس' بنا لیتے ہیں۔
اپنے RAG پائپ لائن کو ٹھیک کرنے کے لیے، آپ کو تین تہوں پر مہارت حاصل کرنی ہوگی:
Chunking Strategy چنک سائز ایک سیمنٹک (semantic) فیصلہ ہے۔ اگر آپ کے چنکس 512 ٹوکنز کے ہیں، تو آپ پیراگراف ریٹریو (retrieve) کر رہے ہیں۔ اگر آپ کے سوالات کے لیے کئی پیراگراف کے درمیان خیالات کو جوڑنے کی ضرورت ہے، تو آپ کے چنکس بہت چھوٹے ہیں۔ آپ کو یہ فیصلہ کرنا ہوگا کہ چنکس کے درمیان کتنا سیاق و سباق (context) منتقل ہونا چاہیے۔
Embedding Models ڈینس ایمبیڈنگز (Dense embeddings) معنی تو پکڑ لیتی ہیں لیکن درست سنٹیکس (syntax) کھو دیتی ہیں۔ ایک ماڈل "error 403" اور "error 404" کو تقریباً ایک جیسا سمجھ سکتا ہے۔ آپ کو معلوم ہونا چاہیے کہ آپ کا ماڈل کیا کیپچر کرتا ہے۔ ایک قانونی معاہدے (legal contract) کو کوڈ ریپوزٹری (code repository) کے مقابلے میں مختلف ایمبیڈنگز کی ضرورت ہوتی ہے۔
Retrieval بمقابلہ Recall ویکٹر سرچ (Vector search) ہر اس چیز کو تلاش کر لیتی ہے جو ممکنہ طور پر متعلقہ ہو۔ یہ 'ریکال' (recall) ہے۔ پروڈکشن RAG کے لیے 'پریسیژن' (precision) کی ضرورت ہوتی ہے۔ آپ کو دس ملتے جلتے پیراگراف نہیں بلکہ بالکل درست جواب چاہیے۔ یہی وجہ ہے کہ آپ کو ہائبرڈ سرچ (hybrid search) کی ضرورت ہے۔
ہائبرڈ سرچ ڈینس ویکٹرز کو کی ورڈ میچنگ (BM25) کے ساتھ جوڑتی ہے۔
- خالص سیمنٹک سرچ درست کوڈز یا آئی ڈیز (IDs) کو مس کر دیتی ہے۔
- خالص کی ورڈ سرچ تصوراتی معنی (conceptual meaning) کو مس کر دیتی ہے۔
- ہائبرڈ سرچ حقیقت تک پہنچنے کے لیے دونوں کو وزن (weight) دیتی ہے۔
صحیح وزن کسی مینوئل میں نہیں ہوتا۔ آپ اسے اپنے مخصوص ڈیٹا کی ٹیسٹنگ کے ذریعے تلاش کرتے ہیں۔
جادو پر بھروسہ کرنا چھوڑ دیں۔ اگر آپ شروع سے ایک بنیادی RAG پائپ لائن نہیں بنا سکتے، تو آپ ایجنٹک RAG (Agentic RAG) کے لیے تیار نہیں ہیں۔ جب آپ بنیادی اصولوں کو نہیں سمجھتے تو پیچیدگی بڑھ جاتی ہے۔
اپنے اگلے پروجیکٹ سے پہلے یہ چار کام کریں:
- چنکنگ کا بینچ مارک (Benchmark) بنائیں۔ تین مختلف سائز آزمائیں۔ top-1 اور top-5 پر پریسیژن کی پیمائش کریں۔
- حقیقی ڈیٹا کے ساتھ ایمبیڈنگز کا ٹیسٹ کریں۔ مصنوعی (synthetic) ٹیسٹ استعمال نہ کریں۔ اپنے اصل صارف کے سوالات (user queries) استعمال کریں۔
- ناکامیوں کو لاگ (log) کریں۔ دو ہفتوں تک، ہر اس کوئری کو لاگ کریں جو ناکام ہو جائے۔ دیکھیں کہ آپ کی سرچ کن چیزوں کو مس کر رہی ہے۔
- ایک بار BM25 نافذ کریں۔ چاہے آپ بعد میں کوئی لائبریری استعمال کریں، آپ کو کی ورڈ بیس لائن (keyword baseline) کو سمجھنے کی ضرورت ہے۔
لائبریریز آپ کا وقت بچاتی ہیں۔ سمجھ بوجھ آپ کو قابل اعتماد بناتی ہے۔
Optional learning community: https://t.me/GyaanSetuAi