کسٹمر سپورٹ کے لیے RAG: AI کے جوابات کو واقعی درست کیسے بنایا جائے
خالص LLM کے جوابات فریب (hallucination) دیتے ہیں۔ RAG (ریٹریول-آگمینٹڈ جنریشن) AI کو آپ کی دستاویزات سے جوڑتا ہے۔ یہاں دیکھیں کہ AskAIs Customer Service یہ کام token ضائع کیے بغیر کیسے کرتا ہے۔
ریٹریول کے بغیر، "میں اپنا پاس ورڈ کیسے ری سیٹ کروں؟" کا جواب دینے والا ایک LLM ایک بظاہر معقول مگر غالباً غلط جواب دے گا — مختلف بٹن، مختلف فلو، مختلف URL۔ RAG (ریٹریول-آگمینٹڈ جنریشن) اس کا حل یہ نکالتا ہے کہ ماڈل کے بولنے سے پہلے آپ کی دستاویزات کا درست حصہ prompt میں داخل کر دیتا ہے۔
پائپ لائن پر ایک نظر
تین مراحل: اِنجیسٹ، ریٹریو، جنریٹ۔
1. اِنجیسٹ
- نالج UI کے ذریعے PDF، Markdown اور Office فائلیں اپ لوڈ کریں
- Worker متن نکالتا ہے اور اسے ~800 token کے چنکس میں 100 token اوور لیپ کے ساتھ تقسیم کرتا ہے
- ہر چنک کو
text-embedding-3-small(1536d) سے ایمبیڈ کیا جاتا ہے pgvectorایکسٹینشن کے ساتھ Postgres میں محفوظ کیا جاتا ہے
2. ریٹریو
جب کوئی وزیٹر پیغام بھیجتا ہے، تو ہم کوئری کو ایمبیڈ کرتے ہیں اور اُس ٹیننٹ کے چنکس کے خلاف کوسائن-ڈسٹنس سرچ چلاتے ہیں۔ Top-K (طے شدہ 5) لیا جاتا ہے، اور غیر متعلقہ مماثلتوں کو نکالنے کے لیے ایک سمیلیریٹی تھریشولڈ ہوتی ہے۔
SELECT id, content, 1 - (embedding <=> $1) AS similarity
FROM knowledge_chunks
WHERE tenant_id = $2
ORDER BY embedding <=> $1
LIMIT 5;3. جنریٹ
ریٹریو کیے گئے چنکس کو واضح ہدایات کے ساتھ سسٹم prompt کے شروع میں رکھ دیا جاتا ہے: ذرائع کا حوالہ دو، اگر سیاق و سباق سوال کا احاطہ نہ کرے تو انکار کر دو، اور اگر اعتماد کم ہو تو معاملہ کسی انسان کے سپرد کر دو۔
token کا بل کم کرنا
بڑے نالج بیسز پر تین ترکیبیں اصل پیسے بچاتی ہیں:
- ایمبیڈنگ کیش — وہی کوئری ٹیکسٹ ← وہی ایمبیڈنگ۔ SHA1 ہیش کلید، Redis میں 24 گھنٹے کا TTL۔ بار بار کیے جانے والے سوالات پر دوبارہ ایمبیڈنگ کی لاگت کو صفر کر دیتا ہے۔
- prompt کیشنگ — Anthropic کا
cache_controlاور OpenAI کی خودکار کیشنگ کا مطلب ہے کہ مستحکم سسٹم prompt ہر 5 منٹ کی ونڈو میں صرف ایک بار شمار ہوتا ہے۔ - تھریشولڈ کی بنیاد پر چھوڑنا— اگر کوئی چنک سمیلیریٹی تھریشولڈ پار نہ کرے تو کچھ بھی داخل نہ کریں۔ ماڈل کو "مجھے نہیں معلوم" کہنے دیں۔
جب RAG کافی نہ ہو
RAG "میں X کیسے کروں؟" قسم کے سوالات کو اچھی طرح سنبھالتا ہے۔ یہ ذاتی نوعیت کے ڈیٹا ("میرا آرڈر کہاں ہے؟") پر ناکام رہتا ہے — اس کے لیے فنکشن کالنگ درکار ہے، جسے ہم ایک الگ پوسٹ میں زیر بحث لاتے ہیں۔ یہی امتزاج آپ کو لاگت کے ایک معمولی حصے میں Intercom درجے کی AI فراہم کرتا ہے۔