لوگ RAG کے خاتمے کے نوٹس لکھ رہے ہیں۔ آپ نے اب تک اس قسم کی سرخیاں دیکھ لی ہوں گی۔ طویل کانٹیکسٹ ونڈوز (long context windows) نے اسے ختم کر دیا۔ ایجنٹس نے اس کی جگہ لے لی۔ یہ پورا پیٹرن اب پرانا ہو چکا ہے۔ حقیقت اس سے کہیں زیادہ محدود اور زیادہ مفید ہے۔ RAG مرا نہیں ہے۔ اصل میں وہ پر اعتماد وہم ختم ہوا ہے کہ آپ دستاویزات کے ڈھیر کو چنکس (chunks) میں تقسیم کر سکتے ہیں، انہیں ایک ویکٹر ڈیٹا بیس میں ڈال سکتے ہیں، اور اچانک ایک قابل اعتماد اور سچی AI کے مالک بن سکتے ہیں۔
کچھ سال پہلے، اس کی پیشکش اپنی سادگی میں بہت پرکشش تھی۔ اپنے نالج بیس کو ایمبیڈ کریں۔ اسے ایک LLM سے جوڑیں۔ ایک سوال پوچھیں، اور ماڈل کو صرف آپ کے فراہم کردہ ڈیٹا کا استعمال کرتے ہوئے جواب دیتے ہوئے دیکھیں۔ کنٹرولڈ ڈیمو اور چھوٹے FAQ بوٹس کے لیے، یہ واقعی کام کرتا تھا۔ بیس صفحات پر مشتمل ایک ہیلپ ڈیسک مینوئل، یا ایک منظم اندرونی وکی (wiki)۔ بوٹ کم و بیش صحیح پیراگراف کا حوالہ دے دیتا تھا، اور انتظامیہ پائلٹ پرونوائس کو منظور کر لیتی تھی۔ لیکن پائلٹ، پروڈکشن نہیں ہوتے۔ پروٹو ٹائپس میں حقیقی کاروباری آپریشنز کی مشکلات اور تجربات شامل نہیں ہوتے۔
پروڈکشن ڈیٹا بے ترتیب ہوتا ہے۔ اس میں ایک ہی ٹربل شوٹنگ نوٹ درجنوں فائلوں میں کاپی شدہ ہو سکتا ہے، جن میں سے ہر ایک کا ٹائم اسٹیمپ تھوڑا مختلف اور اسٹیٹس لیبل متضاد ہو سکتے ہیں۔ اس میں پیچیدہ ٹیبلز ہوتے ہیں جو صفحات پر پھیلے ہوتے ہیں، اور جب کوئی اسپلٹر (splitter) انہیں درمیان سے کاٹتا ہے تو وہ بے معنی ہو جاتے ہیں۔ یہ بغیر کسی معذرت کے تضادات کو برقرار رکھتا ہے۔ 2023 کا پالیسی مینوئل ایک بات کہتا ہے، جبکہ مارچ 2024 کی ترمیم کچھ اور کہتی ہے۔ پرانی PDF کو کبھی آرکائیو نہیں کیا گیا۔ چنک، اسٹور، اور ریٹریول کا سادہ پیٹرن ہر پیراگراف کو ایک الگ جزیرے کے طور پر دیکھتا ہے۔ اسے ہائیرارکی، ورژن ہسٹری، یا تضادات کے حل کا کوئی اندازہ نہیں ہوتا۔ ماڈل ہیلوسینیٹ (hallucinate) اس لیے نہیں کرتا کہ LLM خراب ہے، بلکہ اس لیے کرتا ہے کیونکہ اسے جو کانٹیکسٹ ملا وہ ٹکڑوں میں تھا، ادھورا تھا، یا بالکل غلط تھا۔
کچھ مبصرین کا دعویٰ ہے کہ ملین ٹوکن کانٹیکسٹ ونڈوز ریٹریول کو غیر متعلقہ بنا دیتی ہیں۔ ان کا استدلال سادہ ہے۔ بس پورے مجموعے (corpus) کو پرامپٹ میں ڈال دیں اور ماڈل کو اسے پڑھنے دیں۔ یہ سننے میں پرکشش لگتا ہے، لیکن یہ خطرناک حد تک پرامیدانہ ہے۔ ایک ماڈل تکنیکی طور پر ایک مختصر ناول کے برابر متن کو جذب کرنے کے قابل ہو سکتا ہے، لیکن اس وسیع پھیلاؤ کے درمیان ایک مخصوص شق (clause) کو تلاش کرنا ایک بالکل مختلف صلاحیت ہے۔ گھاس کے ڈھیر میں سوئی تلاش کرنا مشکل ہی رہتا ہے۔ طویل کانٹیکسٹ ونڈوز دستیاب کینوس کو تو بڑھا دیتی ہیں، لیکن وہ اس مشکل کام کو حل نہیں کرتیں کہ کینوس پر کس چیز کو جگہ ملنی چاہیے۔ مسئلہ کبھی بھی صرف ریٹریول کا نہیں تھا۔ یہ ہمیشہ سے کانٹیکسٹ کی اسمبلی (context assembly) کا رہا ہے۔
سادہ ریٹریول سے کانٹیکسٹ انجینئرنگ تک
2026 میں، یہ شعبہ پختہ ہو رہا ہے۔ ہم اس مرحلے سے آگے بڑھ رہے ہیں جہاں RAG کو ایک سادہ لائنیر پائپ لائن سمجھا جاتا تھا، اور ایک ایسے آرکیٹیکچر کی طرف بڑھ رہے ہیں جو کانٹیکسٹ کو ایک سوچی سمجھی انجینئرڈ پراڈکٹ کے طور پر دیکھتا ہے۔
خالص سیمینٹکس کے بجائے ہائبرڈ سرچ۔ سیمینٹک مماثلت (semantic similarity) ارادوں کو سمجھنے کے لیے بہترین ہے، لیکن یہ درست شناختی کوڈز (identifiers) کے معاملے میں غیر یقینی ہو سکتی ہے۔ اگر کوئی انجینئر کسی مخصوص ایرر کوڈ جیسے ERR_CONNECTION_REFUSED یا سافٹ ویئر ورژن جیسے v3.2.1 کے بارے میں پوچھے، تو خالص ویکٹر سرچ تصوراتی طور پر ملتے جلتے لیکن عملی طور پر غیر متعلقہ نتائج کے سمندر میں درست میچ کو کمزور کر سکتی ہے۔ اس کا ارتقاء سادہ ہے۔ جدید سسٹمز ایمبیڈنگز کے ساتھ ساتھ BM25 یا انورٹڈ انڈیکسز جیسے طریقوں کا استعمال کرتے ہوئے، ڈینس ویکٹر ریٹریول کو کی ورڈ سرچ کے ساتھ ملا دیتے ہیں۔ درست نام، ایرر کوڈز، ورژن اسٹرنگز، اور پروڈکٹ آئی ڈیز کی ورڈ لیئر کے ذریعے پکڑے جاتے ہیں جبکہ تصوراتی باریکیوں کو ویکٹر لیئر سنبھالتی ہے۔
جنریشن سے پہلے ری رینکنگ۔ ریٹریول قدرتی طور پر 'ریکال' (recall) کی طرف جھکاؤ رکھتا ہے۔ آپ چالیس یا پچاس چنکس اس لیے نکالتے ہیں کیونکہ آپ کو ڈر ہوتا ہے کہ کہیں وہ ایک اہم پیراگراف چھوٹ نہ جائے۔ لیکن اس تمام شور (noise) کو ایک بڑے ماڈل میں ڈالنا ٹوکنز کا ضیاع ہے اور اصل معلومات (signal) کو دبا دیتا ہے۔ ری رینکنگ اس مسئلے کو ایک دوسرے، عام طور پر چھوٹے ماڈل کے ذریعے حل کرتی ہے جو مخصوص سوال کے حوالے سے ہر امیدوار (candidate) کو اہمیت (relevance) کے مطابق اسکور کرتا ہے۔ صرف بہترین پانچ اقتباسات آگے بڑھتے ہیں، باقی کو مسترد کر دیا جاتا ہے۔ یہ ریٹریول اور جنریشن کے درمیان ایک درست فلٹر کے طور پر کام کرتا ہے، جو اس بات کو یقینی بناتا ہے کہ مہنگا ریزننگ ماڈل صرف وہی پڑھے جو واقعی اہم ہے۔
کانٹیکسٹول ریٹریول جو معنی کو برقرار رکھتا ہے۔ چنکنگ (chunking) ایک پرتشدد عمل ہے۔ ایک اسپلٹر کسی پیراگراف کو اس کے سیکشن ہیڈر، ٹیبل کیپشن، ارد گرد کے قانونی ڈسکلیمر، یا اس فٹ نوٹ سے الگ کر سکتا ہے جو اس کے معنی کو تبدیل کرتا ہے۔ کانٹیکسٹول ریٹریول اس مسئلے کو ماڈل تک پہنچنے سے پہلے ہی ٹکڑوں (fragments) کو معلومات سے مالامال کر کے کم کرتا ہے۔ آپ اس کے ساتھ میٹا ڈیٹا شامل کرتے ہیں جو اس کے ماخذ (provenance) کی نشاندہی کرتا ہے: یہ اقتباس Q3 2024 کی انسیڈنٹ رپورٹ، ڈیٹا بیس آؤٹیج سیکشن، سیورٹی کریٹیکل سے تعلق رکھتا ہے۔ ماڈل صرف ایک تیرتا ہوا جملہ نہیں دیکھتا بلکہ ایک باقاعدہ سیاق و سباق میں موجود معلومات دیکھتا ہے۔ اس طرح وہ ٹکڑا اپنی اصل حیثیت دوبارہ حاصل کر لیتا ہے۔
ارادے (intent) کے مطابق ماڈیولر روٹنگ۔ ہر سوال دستاویزات سے بھرے ہوئے ویکٹر اسٹور (vector store) کا حصہ نہیں ہوتا۔ پاس ورڈ ری سیٹ کرنے کا طریقہ پوچھنے والے صارف کو غالباً ایک ہیلپ آرٹیکل کی ضرورت ہوتی ہے۔ وہ صارف جو یہ پوچھ رہا ہو کہ گزشتہ سہ ماہی میں شمال مشرق میں آمدنی کیوں کم ہوئی، اسے ڈیٹا ویئر ہاؤس (data warehouse) کے خلاف SQL کی ضرورت ہے، نہ کہ علاقائی سیلز حکمت عملی کے بارے میں کسی مماثل مفہومی پیراگراف کی۔ اب پختہ نظام ارادے (intent) کے مطابق سوالات کو روٹ کرتے ہیں اور مناسب ٹول کا انتخاب کرتے ہیں۔ طریقہ کار کے لیے دستاویزات۔ منظم تجزیہ (structured analytics) کے لیے ریلیشنل ڈیٹا بیسز۔ ٹریس ڈی بگنگ (trace debugging) کے لیے لاگ ایگریگیٹرز۔ لائیو اسٹیٹس کے لیے APIs۔ اب ریٹریول لیئر (retrieval layer) ایک ڈسپچر بن جاتی ہے، نہ کہ ایک یکساں ڈھانچہ (monoculture)۔
ایجنٹک ریزننگ لوپس (Agentic reasoning loops)۔ کچھ سوالات کا جواب ایک واحد سرچ مرحلے سے نہیں دیا جا سکتا۔ انہیں دوبارہ ترتیب دینے (reformulation) کی ضرورت ہوتی ہے۔ ایک مبہم ابتدائی سوال کو واضح کیا جاتا ہے۔ حاصل کردہ دعووں کو دوسرے ذریعے سے کراس چیک کیا جاتا ہے۔ اگر دستاویزات API کی وضاحت کے خلاف ہوں، تو سسٹم کوئی فرضی درمیانی راستہ نکالنے کے بجائے اس تضاد کی نشاندہی کرتا ہے۔ ماڈل خود فیصلہ کرتا ہے کہ دوبارہ کب سرچ کرنا ہے، اپنے سوال کو کب بہتر بنانا ہے، اور کب اس کے پاس جواب دینے کے لیے کافی شواہد جمع ہو چکے ہیں۔ یہ ون شاٹ ریٹریول (one-shot retrieval) نہیں ہے۔ یہ ایک منظم استدلال (structured reasoning) ہے جو سرچ کو ایک سب روٹین (subroutine) کے طور پر استعمال کرتا ہے۔
ریلیشنل سوالات کے لیے GraphRAG۔ کچھ کاروباری سوالات تعلقات (connections) کے بارے میں ہوتے ہیں، نہ کہ جملوں کے بارے میں۔ کس جز کے ناکام ہونے سے کون سے ڈاؤن اسٹریم الرٹس (downstream alerts) پیدا ہوئے؟ کون سا سپلائر کس فیکٹری کو مال فراہم کرتا ہے، اور متبادل راستہ کیا ہے؟ تنظیم میں کس کے پاس اس مخصوص بجٹ لائن پر فیصلے کے حقوق ہیں؟ سادہ ٹیکسٹ چنکس (text chunks) ان تعلقات کو ختم کر دیتے ہیں کیونکہ انہیں ٹوپولوجی (topology) کو برقرار رکھنے کے لیے ڈیزائن نہیں کیا گیا تھا۔ نالج گراف (Knowledge graphs) ایسا کرتے ہیں۔ جب سوال اثر و رسوخ، نسل (lineage)، پیٹرنز، یا نیٹ ورک کے ڈھانچے کے بارے میں ہو، تو گراف کا جائزہ لینا ایسا سیاق و سباق فراہم کرتا ہے جسے پیراگراف کی ریٹریول سے کبھی نہیں حاصل کیا جا سکتا۔
وہ سوالات جو حقیقت میں اہمیت رکھتے ہیں
RAG کے گرد ہونے والی گفتگو کو بدلنے کی ضرورت ہے۔ یہ پوچھنا بند کریں کہ ایک عام RAG پائپ لائن کیسے بنائی جائے۔ یہ پوچھنا شروع کریں کہ ماڈل کو کون سا مخصوص کام حل کرنا ہے، اسے درست ہونے کے لیے کس عین ڈیٹا کی ضرورت ہے، اور آپ اس بات کی تصدیق کیسے کرتے ہیں کہ جمع شدہ سیاق و سباق کافی ہے۔ یہ سوالات آپ کو ڈیٹا کے معیار، اسکیمہ ڈیزائن (schema design)، تصدیقی لوپس (verification loops)، اور ماخذ کی اصلیت (source provenance) جیسے بنیادی معاملات کی طرف لے جاتے ہیں۔ یہ اس بات کو بے نقاب کرتے ہیں کہ آیا آپ کا نالج بیس خودکار استعمال کے قابل ہے بھی یا نہیں۔
RAG اب کوئی ایک ایسا سادہ عمل نہیں رہا جسے آپ ایک بار انسٹال کریں اور بھول جائیں۔ یہ درست سیاق و سباق کو ترتیب دینے کا ایک فن ہے تاکہ ماڈل مؤثر طریقے سے استدلال کر سکے۔ اس کا مطلب ہے کہ ریٹریول کو ایک سسٹم ڈیزائن کے مسئلے کے طور پر دیکھا جائے، نہ کہ محض ایک لائبریری امپورٹ کے طور پر۔
ٹولز مزید بہتر ہو رہے ہیں۔ سرچ ہائبرڈ (hybrid) ہے۔ روٹنگ ذہین ہے۔ ریٹریول کو رینک (rank) کیا جاتا ہے، اسے بہتر بنایا جاتا ہے اور تصدیق کی جاتی ہے۔ 2022 کے سادہ وہموں کا ختم ہونا ضروری تھا تاکہ ان کی جگہ کوئی حقیقی طور پر مفید چیز لے سکے۔ اب آپ کا کام محض ڈیٹا بیس سے ٹیکسٹ نکالنا نہیں ہے۔ بلکہ ایسے سسٹم بنانا ہے جو ماڈل کے سوچنا شروع کرنے سے پہلے ہی جان لیں کہ اسے کس چیز کی ضرورت ہے۔
اگر آپ اس شعبے میں کام کر رہے ہیں، تو GyaanSetu لرننگ کمیونٹی ان لوگوں کے ساتھ عملی تجربات بانٹنے کی جگہ ہے جو انہی مسائل کو حل کر رہے ہیں: https://t.me/GyaanSetuAi
