یونٹ 5 / 11

Cloud AI اور LLM API انٹیگریشن: چیٹ، فلو اور سیکیورٹی

فائدہ:

  • ایک محفوظ کلاؤڈ LLM فن تعمیر قائم کرنے کی اہلیت جو API کلید کو کلائنٹ پر نہیں رکھتی ہے بلکہ بیک اینڈ پراکسی سے گزرتی ہے۔
  • مضبوط انضمام لکھنے کی اہلیت جو سٹریمنگ کے ساتھ سمجھی جانے والی رفتار کو بڑھاتی ہے اور ٹائم آؤٹ، نیٹ ورک کی خرابیاں اور رفتار کی حد جیسی صورتحال کو آہستہ سے ہینڈل کرتی ہے۔
  • بھیجے گئے ٹوکن کو مختصر کرکے لاگت کو کم کرنے کی صلاحیت اور کلاؤڈ پر جانے سے پہلے ذاتی ڈیٹا کی ضرورت پر سوال اٹھانا

آن ڈیوائس AI طاقتور لیکن محدود ہے۔ جب آپ واقعی ایک "سمارٹ چیٹ اسسٹنٹ"، طویل متن کا خلاصہ، یا کسی ایپ میں پیچیدہ تخلیقی پروڈکشن شامل کرنا چاہتے ہیں، تو آپ کو ایسے ماڈلز کی ضرورت ہوتی ہے جو فون پر فٹ ہونے کے لیے بہت بڑے ہوں۔ یہ وہ جگہ ہے جہاں کلاؤڈ AI کام میں آتا ہے: آپ کی ایپلیکیشن ایک API (ایپلی کیشن پروگرامنگ انٹرفیس – معیاری انٹرفیس جہاں دو سافٹ ویئر ایک دوسرے کو ڈیٹا بھیجتے اور وصول کرتے ہیں) کے ذریعے ایک بڑے لینگویج ماڈل (LLM) سے منسلک ہوتے ہیں۔ اس یونٹ میں ہم سیکھیں گے کہ کلاؤڈ LLM کو ایک محفوظ، تیز رفتار اور لاگت کے لحاظ سے ایک موبائل ایپلیکیشن میں کیسے ضم کیا جائے۔ سیکیورٹی پر اہم زور دیا جائے گا: غلط طریقے سے انسٹال کردہ LLM انضمام آپ کی API کلید کو لیک کر سکتا ہے اور اس کے نتیجے میں ہزاروں پاؤنڈز کے بل نکل سکتے ہیں۔

فن تعمیر کا سنہری اصول: کلید کلائنٹ پر رکھیں

سب سے خطرناک غلطی جو کلاؤڈ AI انٹیگریشن میں کی جا سکتی ہے وہ ہے API کلید (خفیہ پاس ورڈ جو سروس استعمال کرنے کی اجازت دیتا ہے) کو براہ راست موبائل ایپلیکیشن کوڈ میں سرایت کرنا ہے۔ موبائل ایپلیکیشنز صارف کے آلے پر ڈاؤن لوڈ کی جاتی ہیں اور کوڈ کو ریورس انجینئرنگ کے ذریعے پڑھا جا سکتا ہے — مرتب کردہ ایپلیکیشن کو پارس کر کے اور اس کے اندر کیا ہے۔ اگر آپ کی کلید ایپ کے اندر ہے، تو کوئی اسے نکال سکتا ہے اور آپ کے اکاؤنٹ سے لامحدود درخواستیں کر سکتا ہے۔

صحیح فن تعمیر یہ ہے: موبائل ایپلیکیشن آپ کے اپنے بیک اینڈ سرور (پراکسی سرور جسے آپ کنٹرول کرتے ہیں) کو درخواستیں بھیجتی ہے؛ کلید صرف سرور پر رہتی ہے۔ سرور LLM سروس میں جاتا ہے اور درخواست کا جواب واپس کرتا ہے۔ یہ مڈل ویئر سپیڈ کیپنگ، غلط استعمال کی روک تھام، اور لاگت پر کنٹرول بھی فراہم کرتا ہے۔

نقطہ نظر

چابی کہاں ہے؟

سیکورٹی

کلید درخواست میں ہے (FALSE)

کلائنٹ میں، عوام

یہ لیک ہوتا ہے، بل پھٹ جاتا ہے۔

کلید بیک اینڈ میں ہے (TRUE)

سرور پر، پوشیدہ

محفوظ، قابل کنٹرول

احتیاط: جب آپ AI سے کلاؤڈ LLM انضمام کے لیے پوچھتے ہیں، تو یہ ایک ایسی مثال پیش کر سکتا ہے جو آپ کی سہولت کے لیے براہ راست ایپلیکیشن کوڈ میں کلید لکھتی ہے۔ اس کو کبھی لائیو نہ لیں۔ پرامپٹ میں "API کلید کلائنٹ پر نہیں ہونی چاہیے، بیک اینڈ پراکسی سے گزریں" کا جملہ ضرور شامل کریں۔

سلسلہ بندی: سمجھی جانے والی رفتار میں اضافہ

LLM جوابات لمبے ہو سکتے ہیں اور مکمل طور پر تیار ہونے میں سیکنڈ لگ سکتے ہیں۔ صارف کو خالی اسکرین پر انتظار کرنا ایک برا تجربہ ہے۔ اس کا حل سٹریمنگ ہے — جوابی لفظ کو لفظ بہ لفظ ظاہر کرنا، جیسا کہ یہ پیدا ہوتا ہے۔ صارف متن کے ہجے کی نگرانی کرتا ہے، جیسا کہ ChatGPT میں ہے۔ یہ ڈرامائی طور پر سمجھی رفتار اور روانی کو بڑھاتا ہے۔ موبائل پر بہاؤ کا مطلب ہے سرور سے انٹرفیس میں ٹکڑوں (ٹوکنز - ماڈل کے ذریعہ تیار کردہ متن کا ٹکڑا) شامل کرنا۔ AI میں انٹیگریشن پرنٹ کرتے وقت واضح طور پر بہاؤ کی درخواست کریں۔

ٹپ: اسٹریمنگ کے جواب میں "توقف" بٹن شامل کریں۔ صارف کو پیداوار روکنے کے قابل ہونا چاہیے جب اسے وہ جواب مل جائے جو وہ چاہتا ہے۔ یہ دونوں تجربے کو بہتر بناتا ہے اور غیر ضروری ٹوکن جنریشن کو کم کرکے لاگت کو کم کرتا ہے۔ لمبے جواب کے بیچ میں، صارف کو اپنا جواب پہلے ہی مل گیا ہو گا۔

لاگت، تاخیر اور غلطی کا انتظام

کلاؤڈ LLM ہر درخواست کے ساتھ رقم کی لاگت (فی ٹوکن فیس) اور وقت کی قیمت (دیرتا) رکھتا ہے۔ تین مضامین ضروری ہیں۔ Cost: limit prompt and response length, do not send unnecessarily long system instructions, default to small and cheap model if possible. لیٹنسی: اسٹریمنگ کا استعمال کریں، ٹائم آؤٹ سیٹ کریں، اگر نیٹ ورک سست ہے تو صارف کو مطلع کریں۔ خرابی: نیٹ ورک کی بندش، سروس 429 (بہت زیادہ درخواستیں) یا 500 (سرور کی خرابی) واپس کر سکتی ہے؛ ہر ایک کو نرمی سے سنبھالیں، ایپ کو کریش نہ کریں۔ اس کے علاوہ، LLM بعض اوقات بے معنی یا غلط جوابات دیتا ہے۔ اہم علاقوں میں جواب کی تصدیق کی ایک پرت شامل کریں۔

تین چھوٹے مقدمات

کیس 1 - لیک ہونے والی کلید۔ ایک اسٹارٹ اپ نے تیزی سے نکلنے کے لیے OpenAI کلید کو براہ راست اپنی React Native ایپ میں سرایت کر دیا۔ ایپ کے ریلیز ہونے کے تین ہفتے بعد، کلید کو ریورس انجنیئر کیا گیا اور راتوں رات $2,400 مالیت کا استعمال کیا گیا۔ ٹیم کو کلید کو منسوخ کرنا پڑا اور بیک اینڈ پراکسی قائم کرنا پڑا۔ سبق: سہولت کے لیے لیا گیا شارٹ کٹ سب سے مہنگا راستہ بن گیا۔

کیس 2 - بہاؤ کے ساتھ ڈراپ آؤٹ کم ہوا۔ ایک ایجوکیشن ایپ نے سب سے پہلے اپنے سوال و جواب کی خصوصیت بغیر سٹریمنگ کے جاری کی۔ صارفین 6 سیکنڈ کے بیکار انتظار کے بعد باہر نکل رہے تھے۔ جب بہاؤ شامل کیا گیا تو، پہلا لفظ 0.8 سیکنڈ میں ظاہر ہونا شروع ہو گیا، اور ترک کرنے کی شرح 48% سے کم ہو کر 12% ہو گئی۔ ایک ہی ماڈل، ایک ہی رفتار — صرف پیشکش میں فرق۔

کیس 3 - لاگت پر کنٹرول۔ ایک ایپ ہر صارف کے پیغام کے ساتھ ماڈل کو چیٹ کی پوری تاریخ بھیج رہی تھی۔ طویل گفتگو میں، ایک درخواست 8,000 ٹوکن تک پہنچ گئی، جس سے لاگت بڑھ گئی۔ صرف آخری چند پیغامات اور ایک خلاصہ بھیج کر، ٹیم نے فی درخواست ٹوکنز کو 70% تک کم کر دیا، جس سے ماہانہ بل ایک تہائی تک کم ہو گیا۔ سبق: آپ جو بھیجتے ہیں اس کی پیمائش کریں۔

کمزور فوری / مضبوط اشارہ

کمزور اشارہ: "میری ایپ میں چیٹ جی پی ٹی جیسی چیٹ شامل کریں۔"

طاقتور پرامپٹ: "میری iOS/Swift ایپلیکیشن میں ایک چیٹ اسسٹنٹ شامل کریں۔ آرکیٹیکچر: ایپلیکیشن میرے اپنے بیک اینڈ کو ایک درخواست بھیجتی ہے، LLM API کلید کلائنٹ پر نہیں ہے، یہ پراکسی سے گزرتی ہے۔ - جواب سٹریمنگ میں آتا ہے، لفظ بہ لفظ ظاہر ہوتا ہے - 'اسٹاپ' بٹن پروڈکشن میں خلل ڈالتا ہے - ہینڈل ٹائم آؤٹ، نیٹ ورک 500، error اور 500 صورتحال کو ہینڈل کرتا ہے۔ چیٹ کی تاریخ کو مختصر کریں: آخری 6 پیغامات بھیجیں + خلاصہ (لاگت کنٹرول) پہلے آرکیٹیکچرل ڈایاگرام کی وضاحت کریں، پھر کلائنٹ اور پراکسی کوڈ کو الگ الگ دیں۔"

کاپی کرنے کے قابل ٹیمپلیٹس

محفوظ آرکیٹیکچر ٹیمپلیٹ: "میری [پلیٹ فارم] ایپلیکیشن میں کلاؤڈ ایل ایل ایم انضمام کو ڈیزائن کریں۔ قاعدہ: API کلید صرف بیک اینڈ میں۔ کلائنٹ -> میرا پراکسی -> ایل ایل ایم۔ پراکسی میں: تصدیق، فی صارف کی شرح کی حد، لاگنگ کی درخواست۔ کلائنٹ اور پراکسی ذمہ داریوں کی فہرست الگ الگ کریں، پھر کوڈ کو برآمد کریں۔"

اسٹریمنگ ٹیمپلیٹ: "اس چیٹ اسکرین پر ایک اسٹریمنگ جواب شامل کریں:- پیغام کے بلبلے کے آتے ہی اس میں اسنیپٹس شامل کریں- ٹائپ کرتے وقت کرسر/اینیمیشن دکھائیں- 'اسٹاپ' بٹن سے اسٹریم کو منسوخ کریں- جزوی متن کو محفوظ رکھیں اور اگر سلسلہ ختم ہونے کے دوران کوئی خرابی ہو تو خبردار کریں[موجودہ کوڈ]"

لاگت میں تاخیر کا سانچہ:"اس LLM انضمام میں لاگت اور تاخیر کو کم کریں:- میں بھیجے گئے ٹوکن کو کیسے کم کروں (تاریخ کا مخفف، خلاصہ)؟- کس صورت میں چھوٹا/سستا ماڈل کافی ہے؟- ٹائم آؤٹ تجویز کریں اور حکمت عملی [کوڈ] کو دوبارہ آزمائیں"

فالٹ ٹولرنس ٹیمپلیٹ: "اس LLM کال کو لچکدار بنائیں:- بغیر نیٹ ورک، ٹائم آؤٹ، 429 (شرح کی حد))، 500 (سرور) کے لیے الگ رویہ - صارف کے لیے غیر تکنیکی، شائستہ پیغام- تنقیدی جوابات میں فریب کاری کے خطرے کے خلاف تصدیقی نوٹ[کوڈ]"

عام غلطیاں

  • ایپلیکیشن میں API کلید کو سرایت کرنا۔ سب سے مہنگا اور عام سیکورٹی بگ؛ کلید یقینی طور پر پچھلے سرے پر ہے۔
  • بہاؤ کا استعمال نہیں کرنا۔ صارف کو طویل جوابات کے انتظار میں چھوڑنا صارف کو دور کر دے گا۔
  • ہر درخواست کے ساتھ چیٹ کی پوری تاریخ بھیجنا۔ یہ ٹوکن لاگت اور تاخیر کو ضرب دیتا ہے۔
  • غلطی کی شرائط کو نظرانداز کرنا۔ اگر 429/500/ٹائم آؤٹ پر توجہ نہیں دی گئی تو ایپلیکیشن کریش یا منجمد ہو جائے گی۔
  • LLM جواب کو بغیر سوال کے درست سمجھنا۔ فریب حقیقی ہے؛ اہم علاقے میں تصدیقی پرت شامل کریں۔
  • غیر ضروری LLM پر صارف کا ڈیٹا بھیجنا۔ پوچھیں کہ کیا ذاتی ڈیٹا کی ضرورت ہے یا اسے کلاؤڈ پر جانے سے پہلے ماسک کر لینا چاہیے۔

خلاصہ میں

Cloud LLM ایسی زبردست صلاحیتیں لاتا ہے جو موبائل پر ڈیوائس پر فٹ نہیں ہوتی ہیں، لیکن اس کے لیے سیکیورٹی اور لاگت کے نظم و ضبط کی ضرورت ہوتی ہے۔ سنہری اصول: API کلید کبھی بھی کلائنٹ پر نہیں ہوتی، یہ بیک اینڈ پراکسی سے گزرتی ہے۔ بہاؤ سمجھی رفتار اور برقرار رکھنے میں بہت زیادہ اضافہ کرتا ہے۔ "اسٹاپ" بٹن کے ذریعہ تعاون یافتہ۔ بھیجے گئے ٹوکن کو مختصر کرکے لاگت کا تعین کیا جاتا ہے۔ تمام غلطی کے معاملات کو احسن طریقے سے سنبھال کر لچک حاصل کی جاتی ہے۔ LLM کے جوابات میں فریب کاری شامل ہو سکتی ہے۔ اہم علاقوں میں، تصدیق ضروری ہے اور ذاتی ڈیٹا کو کلاؤڈ پر بھیجنے سے پہلے اس کا جائزہ لیا جاتا ہے۔

درخواست کا کام

"ٹیکسٹ سمریائزیشن" یا "چیٹ" فیچر کے لیے "سیکیور آرکیٹیکچر ٹیمپلیٹ" کا استعمال کرتے ہوئے AI سے کلائنٹ + بیک اینڈ پراکسی ڈیزائن کی درخواست کریں۔ تصدیق کریں کہ API کلید صرف تیار کردہ ڈیزائن میں بیک اینڈ میں رہتی ہے۔ پھر "کاسٹ ڈیلے پیٹرن" کے ساتھ بھیجے گئے ٹوکن کو کم کرنے کے لیے کم از کم دو طریقے نکالیں اور غلطی کی حالت کے لیے صارف کو دکھائے جانے والے شائستہ پیغام کو لکھیں (مثلاً 429)۔

چیک لسٹ

  • [ ] میں نے تصدیق کی کہ API کلید بیک اینڈ میں رہتی ہے نہ کہ کلائنٹ پر
  • [ ] میں نے رسپانس اسٹریمنگ کیا اور ایک 'پاز' بٹن شامل کیا۔
  • میں نے ٹائم آؤٹ، نیٹ ورک کی خرابی، 429 اور 500 حالات کو سنبھالا۔
  • میں نے جمع کردہ ٹوکن کو ماضی کے مخفف/خلاصہ کے ساتھ کم کر دیا ہے۔
  • میں نے LLM جواب میں فریب کاری کے خطرے کے خلاف توثیق پر غور کیا۔
  • میں نے کلاؤڈ پر جانے سے پہلے ذاتی ڈیٹا کی ضرورت/ماسکنگ کی جانچ کی۔