ماڈل کو یاد نہیں رہتا۔ آپ کو رہتا ہے۔
Large Language Models (LLMs) کے پاس کوئی یادداشت نہیں ہوتی۔
میں پہلے سوچتا تھا کہ ہر چیٹ سیشن اپنا سیاق و سباق (context) محفوظ رکھتا ہے۔ میں غلط تھا۔ جب آپ کسی LLM سے بات کرتے ہیں، تو اسے آپ کا پچھلا سوال یاد نہیں رہتا جب تک کہ آپ اسے دوبارہ نہ بھیجیں۔
ماڈل stateless ہے۔ اس کا مطلب ہے کہ ہر درخواست ایک نئی شروعات ہے۔
گفتگو تخلیق کرنے کے لیے، آپ کو خود ہسٹری کو مینیج کرنا ہوگا۔ آپ ہر نئی درخواست کے ساتھ تمام پچھلے پیغامات کا ایک array بھیج کر ایسا کرتے ہیں۔
"یادداشت" محض پیغامات کی ایک فہرست ہے:
- User: ہیلو۔
- Assistant: ہیلو!
- User: آپ کیسے ہیں؟
اگر آپ اپنی اگلی درخواست میں پہلی دو لائنیں شامل نہیں کریں گے، تو ماڈل کو معلوم نہیں ہوگا کہ آپ پہلے ہی ہیلو کہہ چکے ہیں۔
میں نے یہ SDKs سے بچ کر سیکھا۔ زیادہ تر ڈویلپرز اس پیچیدگی کو چھپانے کے لیے Anthropic SDK جیسے ٹولز استعمال کرتے ہیں۔ SDK آپ کے لیے میسج ہسٹری اور headers کو سنبھال لیتا ہے۔
اگر آپ سیکھنا چاہتے ہیں کہ LLMs کیسے کام کرتے ہیں، تو اس کے بجائے raw fetch استعمال کریں۔ کسی abstraction کا استعمال نہ کریں۔ جب آپ request اور response cycle کو دستی طور پر مینیج کرتے ہیں، تو آپ ہر فیصلے کو دیکھ سکتے ہیں۔
یہ دستی کنٹرول آپ کو بعد میں جدید حکمت عملیوں کی تعمیر کی اجازت دیتا ہے، جیسے کہ:
- طویل چیٹس کو مینیج کرنے کے لیے sliding windows۔
- Retrieval Augmented Generation (RAG)۔
- Semantic search۔
اس array کو سمجھنا AI ڈویلپمنٹ کی بنیاد ہے۔ سیاق و سباق (context) فراہم کرنے والے آپ خود ہیں۔ ماڈل صرف وہی جانتا ہے جو آپ بھیجتے ہیں۔
Source: https://dev.to/marcochavezco/the-model-doesnt-remember-you-do-3mmk