فائدہ:
- یہ بتاتے ہوئے کہ RAG ماڈل کے وزن کو تبدیل کیے بغیر سیاق و سباق کو انجیکشن کرتا ہے اور 'اوپن بک ایگزام' منطق کے ساتھ کام کرتا ہے۔
- لاگت، بروقت اور استعمال کے منظر نامے کے مطابق فائن ٹیوننگ اور طویل سیاق و سباق کے نقطہ نظر کے ساتھ RAG کا موازنہ کرنا
- اشاریہ سازی اور استفسار کے مراحل پر مشتمل ایک عام RAG پائپ لائن کے مراحل کی فہرست
اس سے کوئی فرق نہیں پڑتا ہے کہ ایک زبان کا ماڈل (مصنوعی ذہانت جو متن کو سمجھتی اور تیار کرتی ہے؛ ہم اسے اب سے مختصراً ماڈل کہیں گے) کیوں نہ ہو، اسے یہ نہیں معلوم کہ آپ کی کمپنی نے کل کس معاہدے پر دستخط کیے ہیں، آپ کا داخلی ویکی (اندرونی علم کی بنیاد) صفحہ، یا آج صبح شائع ہونے والے ریلیز نوٹ کے بارے میں نہیں معلوم۔ ماڈل اس کی تربیت کی تاریخ تک عمومی معلومات تک محدود ہے۔ اسے "تعلیم کی کٹ آف ڈیٹ" کہا جاتا ہے۔ RAG (Retrieval-Augmented Generation) بالکل اسی خلا کو پُر کرتا ہے: یہ سوال سے متعلق کمپنی کے دستاویزات کو تلاش کرتا ہے، اسے ماڈل کو سیاق و سباق کے طور پر دیتا ہے (یعنی وہ اضافی متن جسے وہ جواب تیار کرتے وقت پڑھے گا) اور اس سیاق و سباق کی بنیاد پر جواب تیار کیا جاتا ہے۔
اس یونٹ میں، ہم واضح طور پر دیکھیں گے کہ RAG کیا ہے، جب اسے کن متبادلات پر ترجیح دی جاتی ہے، اور ایک عام RAG پائپ لائن کے مراحل۔ اس کے بعد کی تمام اکائیاں اس نقشے کے حصوں کو ایک ایک کرکے گہرا کریں گی۔
RAG کا بنیادی خیال: اوپن بک امتحان
آئیے ایک جملے میں RAG کی وضاحت کرتے ہیں: "پہلے متعلقہ دستاویز تلاش کریں، پھر ماڈل سے اس دستاویز کو پڑھیں اور اس کے مطابق جواب پرنٹ کریں۔"
سب سے مفید مشابہت یہ ہے: RAG ماڈل کو "بند کتاب کے امتحان" سے "اوپن بک امتحان" میں لے جاتا ہے۔ بند کتابی امتحان میں، طالب علم صرف یادداشت سے جواب دیتا ہے۔ جو آپ کو یاد نہیں ہے اس کے قضاء کا بہت زیادہ خطرہ ہے۔ اوپن بک کے امتحان میں طالب علم اپنے سامنے رکھے ذریعہ کو دیکھ کر جواب دیتا ہے۔ RAG میں، ماڈل اب اپنی یادداشت سے جواب نہیں دیتا، لیکن موجودہ اور مخصوص متن سے جو آپ اسے دیتے ہیں۔
اہم نکتہ: RAG ماڈل کے وزن کو تبدیل نہیں کرتا، یعنی اربوں عددی پیرامیٹرز جو ماڈل نے سیکھا ہے۔ آپ ماڈل کو دوبارہ تربیت نہیں دیتے ہیں۔ ہر سوال کے لیے، آپ اس سوال سے متعلقہ متن کے ٹکڑوں کو پرامپٹ میں داخل کرتے ہیں (ماڈل کو بھیجی گئی ہدایات کا متن)۔ لہذا جب دستاویز کو اپ ڈیٹ کیا جاتا ہے تو آپ کو ماڈل کو دوبارہ تربیت دینے کی ضرورت نہیں ہے۔ آپ صرف تلاش کے ڈیٹا بیس میں متعلقہ ریکارڈ کو تازہ کرتے ہیں۔
اشارہ: دو سوالات RAG کے معیار کا تعین کرتے ہیں: (1) کیا آپ کو صحیح دستاویز ملی؟ (2) کیا ماڈل نے اسے صحیح طریقے سے پڑھا؟ پہلا "ریٹریول کوالٹی" ہے، دوسرا "جنریشن کوالٹی" ہے۔ دونوں کو الگ الگ ماپا اور بہتر بنایا گیا ہے۔
آر اے جی، فائن ٹیوننگ یا طویل سیاق و سباق؟
تنظیمی مسئلے کا حل تلاش کرتے وقت تین راستے اکثر الجھ جاتے ہیں۔ آئیے ان کے اختلافات کو واضح کرتے ہیں۔ فائن ٹیوننگ آپ کے ڈیٹا کے ساتھ ماڈل کے وزن کو اپ ڈیٹ کر رہی ہے اور اسے ایک نیا طرز عمل/انداز سکھا رہی ہے۔ طویل سیاق و سباق کا مطلب ہے تمام دستاویزات کو بغیر کسی انتخاب کے براہ راست پرامپٹ میں بھرنا۔
نقطہ نظر
کیا کرتا ہے
یہ کب مناسب ہے؟
لاگت / خطرہ
آر اے جی
سیاق و سباق کے طور پر متعلقہ دستاویز کو انجیکشن کرتا ہے۔
کثرت سے تبدیل ہونے والی، وسیع، مخصوص معلومات
کم اپ ڈیٹ کرنے میں آسان، ماخذ کا حوالہ دیا جا سکتا ہے۔
فائن ٹیوننگ
نئے ڈیٹا کے ساتھ وزن کو اپ ڈیٹ کرتا ہے۔
فکسڈ سٹائل/فارمیٹ/زبان کی تعلیم
اعلی ہر اپ ڈیٹ کے ساتھ دوبارہ تربیت کی ضرورت ہے۔
صرف طویل سیاق و سباق
تمام دستاویزات کو پرامپٹ میں بھرتا ہے۔
چھوٹا، سٹیشنری دستاویز سیٹ
ٹوکن کی قیمت اور "درمیانی حصہ کھونے" کا خطرہ بڑھ جاتا ہے۔
ایک اصول کے طور پر: فائن ٹیوننگ ماڈل کو بات کرنے کا طریقہ سکھاتی ہے۔ RAG ماڈل کو بتاتا ہے کہ کیا جاننا ہے۔ زیادہ تر انٹرپرائز کے منظرناموں میں، RAG کو پہلے آزمایا جاتا ہے کیونکہ یہ سستا، اپڈیٹ ایبل ہے، اور جواب کا ذریعہ دکھا سکتا ہے۔ لمبا سیاق و سباق معقول ہے اگر دستاویز کا سیٹ واقعی چھوٹا اور طے شدہ ہے (مثال کے طور پر 20 صفحات کا ایک دستی)؛ لیکن ہزاروں صفحات کے ساتھ، یہ مہنگا ہے اور ماڈل طویل متن کے بیچ میں معلومات سے محروم ہو سکتا ہے۔
ایک عام RAG پائپ لائن
RAG دو اہم مراحل پر مشتمل ہے: اشاریہ سازی (تیاری، ایک بار یا وقفے وقفے سے کی جاتی ہے) اور استفسار (ہر صارف کے سوال پر چلتا ہے)۔
مرحلہ وار انڈیکسنگ (آف لائن، صارف کے انتظار کے بغیر):
- جمع کریں: ذرائع سے دستاویزات کھینچیں (پی ڈی ایف، ویکی، ٹکٹ سسٹم، ڈیٹا بیس، ای میل)۔
- چنکنگ: لمبے متن کو چھوٹے چھوٹے ٹکڑوں میں توڑ دیں۔
- ایمبیڈ کریں: ہر حصے کو ایمبیڈنگ میں تبدیل کریں (نمبر ویکٹر جو متن کے معنی رکھتا ہے)۔
- محفوظ کریں: ویکٹر کو متن اور میٹا ڈیٹا (ذریعہ، تاریخ، اجازت کی معلومات) کے ساتھ ویکٹر ڈیٹا بیس میں لکھیں۔
مرحلہ وار استفسار (آن لائن، جب صارف انتظار کر رہا ہے):
- صارف کے سوال کو ایمبیڈنگ میں تبدیل کریں۔
- ویکٹر ڈیٹا بیس سے ملتے جلتے حصوں کو بازیافت کریں۔
- ان ٹکڑوں + سوال کو فوری ٹیمپلیٹ میں رکھیں۔
- ماڈل سے متعلقہ جواب اور اس کے ذرائع حاصل کریں۔
# انکوائری کے مرحلے کا تصوراتی خاکہ (زبان پر منحصر نہیں) سوال = "سالانہ چھٹی کے کتنے دن؟" سوال_ویکٹر = ایمبیڈ(سوال) حصے = vektor_db.search(question_vektor, top_k=4) # سب سے ملتے جلتے حصوں کا استعمال کرتے ہوئے جواب دیں = f"""سوال کا جواب دیں اگر سیاق و سباق کے بارے میں کوئی معلومات نہیں ہے تو، "میں جواب کے بارے میں نہیں کہوں گا۔" مناسب ماڈل: claude-opus-4-8
یہ بہاؤ ہر مرحلے کا نقشہ ہے، جسے ہم بعد کی اکائیوں میں ایک ایک کرکے کھولیں گے۔
کمزور پرامپٹ / مضبوط اشارہ
یہاں تک کہ اسی RAG سیاق و سباق کے ساتھ، پرامپٹ کا معیار جواب کو بدل دیتا ہے۔
کمزور اشارہ (ماڈل فٹنگ کے لیے کھلا، وسائل کی ضرورت نہیں):
اس معلومات کو استعمال کریں اور سالانہ چھٹی کہیں: {parts}۔ سوال: {سوال}
طاقتور پرامپٹ (گراؤنڈنگ + "میں نہیں جانتا" اجازت + وسائل کی درخواست):
جواب صرف نیچے دیے گئے CONTEXT کی بنیاد پر دیں۔ اگر سیاق و سباق میں کوئی واضح جواب نہیں ہے تو، "مجھے دستاویزات میں اس کے بارے میں معلومات نہیں مل سکی" لکھیں۔ اندازہ نہ لگائیں۔ اپنے جواب کے آخر میں اس ٹکڑے کا ٹیگ شامل کریں جس پر آپ انحصار کر رہے ہیں۔ CONTEXT: {pieces} سوال: {سوال}
تین چھوٹے کیسز
کیس 1 - HR اسسٹنٹ (ہیومن ریسورس)۔ ایک کمپنی کے پاس 340 صفحات پر مشتمل HR ہینڈ بک ہے اور ملازمین روزانہ اوسطاً 90 سوالات پوچھتے ہیں۔ فائن ٹیوننگ کی کوشش کی گئی تھی، لیکن چونکہ دستی کو ماہانہ اپ ڈیٹ کیا گیا تھا، اس لیے ہر بار دوبارہ تربیت کی ضرورت تھی۔ لاگت ماہانہ ہزاروں ڈالر تک پہنچ گئی۔ RAG پر سوئچ کرنے کے بعد، اپ ڈیٹ کو "دوبارہ انڈیکس دی دستاویز" مرحلہ (منٹ) تک کم کر دیا گیا اور دستی پیمائش میں درست جواب کی شرح 71% سے بڑھ کر 93% ہو گئی۔
کیس 2 - کسٹمر سپورٹ۔ سپورٹ ٹیم کے پاس 12,000 حل شدہ ٹکٹ اور 800 امدادی مضامین ہیں۔ ایک نمائندے کو دستی طور پر جواب تلاش کرنے میں اوسطاً 4 منٹ لگتے ہیں۔ جب RAG اسسٹنٹ 5 سب سے زیادہ متعلقہ ریکارڈ لے کر آیا اور ایک مسودہ جواب تیار کیا، وقت کم کر کے 40 سیکنڈ کر دیا گیا؛ لیکن ٹیم نے "غلط مضمون لانے سے غیر یقینی نظر آنے" کے خطرے کو محسوس کیا اور ذریعہ کا حوالہ دینا لازمی قرار دیا۔
کیس 3 - قانون۔ ایک معاہدہ کرنے والی ٹیم نے پوچھا "کن کنٹریکٹس میں رازداری کی شق 5 سال تک رہتی ہے؟" وہ سوال پوچھتا ہے. طویل سیاق و سباق کے مقدمے میں، 60 معاہدوں کو ایک پرامپٹ میں پُر کیا گیا۔ ماڈل نے درمیانی دو معاہدوں کو چھوڑ دیا۔ جب صرف متعلقہ اشیاء کو RAG کے ساتھ متعارف کرایا گیا تو ٹوکن کی لاگت میں 80% کی کمی واقع ہوئی اور گمشدہ اسکیپنگ کو دوبارہ ترتیب دیا گیا۔
RAG کی ضرورت کیوں ہے؟
- کرنٹنس: آپ تربیت کی کٹ آف تاریخ کے بعد معلومات تک رسائی حاصل کرتے ہیں۔
- خصوصی معلومات: آپ کے داخلی دستاویزات کسی بھی ماڈل کی تربیت میں شامل نہیں ہیں۔ صرف آپ ہی دے سکتے ہیں۔
- تصدیق کی اہلیت: آپ جواب کے ماخذ کا حوالہ دے سکتے ہیں (حوالہ) - آڈیٹنگ اور اعتماد کے لیے ضروری۔
- ہیلوسینیشن کنٹرول: یہ ماڈل بنانے کے بجائے اس کے سامنے رکھے ہوئے متن پر انحصار کرتا ہے۔
- لاگت: فائن ٹیوننگ کے مقابلے میں یہ بہت سستا اور تیز ہے۔
احتیاط: RAG جادو نہیں ہے۔ اگر آپ غلط ٹکڑا لاتے ہیں، تو ماڈل "پراعتماد" نظر آتے ہوئے غلط جواب پر پہنچتا ہے۔ جملے کو ذہن میں رکھیں "بازیافت کا معیار = RAG معیار"۔
عام غلطیاں
- ٹھیک ٹیوننگ کے لیے RAG کو غلط سمجھنا: RAG وزن کو تبدیل نہیں کرتا ہے۔ یہ صرف سیاق و سباق کا اضافہ کرتا ہے۔ ان دونوں کو الجھانے سے غلط فن تعمیر کا انتخاب کیا جائے گا۔
- "مجھے نہیں معلوم" کی اجازت نہ دینا: اگر پرامپٹ ماڈل کو خالی جگہ پُر کرنے کے لیے آزاد چھوڑ دیتا ہے، تو یہ مکمل ہو جائے گا۔
- ذرائع کا حوالہ نہ دینا: ماخذ کے بغیر جواب کو چیک نہیں کیا جا سکتا۔ صارف غلطی کا نوٹس نہیں لے سکتا۔
- ہر چیز کو ایک پرامپٹ میں توڑنا: لمبا سیاق و سباق سستا لگتا ہے لیکن مہنگا ہے اور درمیانی معلومات سے محروم ہے۔
- بازیافت کی پیمائش کیے بغیر نسل میں پھنس جانا: اگر جواب خراب ہے تو پہلے پوچھیں "کیا صحیح حصہ پہنچا؟" پوچھا جانا چاہئے.
خلاصہ میں
- RAG ایک ایسا نقطہ نظر ہے جو ماڈل میں سوال سے متعلقہ دستاویزات کو سیاق و سباق کے طور پر داخل کرتا ہے۔ وزن کو تبدیل نہیں کرتا ہے ("کھلی کتاب کا امتحان")۔
- فائن ٹیوننگ سٹائل/فارمیٹ سکھاتی ہے، RAG موجودہ اور مخصوص معلومات دیتا ہے۔ طویل سیاق و سباق چھوٹے فکسڈ سیٹوں کے لیے اچھی طرح کام کرتا ہے۔ زیادہ تر منظرناموں میں، RAG کو پہلے آزمایا جاتا ہے۔
- پائپ لائن کے دو مراحل ہیں: آف لائن انڈیکسنگ (چنک + ایمبیڈنگ + سیو) اور آن لائن استفسار (ریٹریول + پرامپٹ + جنریٹ)۔
- RAG بروقت، مخصوص معلومات، تصدیق، فریب کاری کنٹرول، اور کم قیمت فراہم کرتا ہے۔
- نظام کا معیار براہ راست بازیافت کے معیار پر منحصر ہے: غلط ٹکڑے کا مطلب غلط جواب ہے۔
درخواست کا کام
اپنی ٹیم سے معلومات کا ایک حقیقی ذریعہ منتخب کریں (مثال کے طور پر طریقہ کار کی دستاویز یا عمومی سوالنامہ کا صفحہ)۔ (1) اس ماخذ کے بارے میں 5 حقائق پر مبنی سوالات لکھیں۔ (2) نوٹ کریں کہ دستاویز کا کون سا حصہ ہر سوال کا صحیح جواب رکھتا ہے - یہ آپ کی "سنہری جواب" کی فہرست بن جاتی ہے۔ (3) اوپر "مضبوط پرامپٹ" ٹیمپلیٹ کا استعمال کرتے ہوئے، متعلقہ حصے کو سیاق و سباق کے طور پر دستی طور پر چسپاں کریں اور ماڈل سے پوچھیں۔ (4) ماڈل کی طرف سے دیے گئے جواب کا سنہری جواب سے موازنہ کریں اور صحیح/غلط کے بطور نشان زد کریں۔ یہ تشخیص کا پہلا دستی ورژن ہے جسے آپ مستقبل کی اکائیوں میں خودکار بنائیں گے۔
چیک لسٹ
- میں ایک جملے میں وضاحت کر سکتا ہوں کہ RAG وزن کو تبدیل نہیں کرتا، یہ صرف سیاق و سباق کو جوڑتا ہے۔
- میں RAG، فائن ٹیوننگ اور طویل سیاق و سباق کے درمیان فرق کر سکتا ہوں اور جب مناسب ہو۔
- میں انڈیکسنگ (collect-shred-embed-save) اور استفسار (embed-fetch-prompt-generate) کے مراحل کو ترتیب میں شمار کر سکتا ہوں۔
- [ ] میں جانتا ہوں کہ میں نے "اگر یہ سیاق و سباق میں نہیں ہے تو کہئے کہ میں نہیں جانتا" اور "ذریعہ کا حوالہ دیں" ہدایات پرامپٹ میں کیوں شامل کیں۔
- میں "ریٹریول کوالٹی = RAG کوالٹی" کے اصول کو اپنے کیس میں ڈھال سکتا ہوں۔