میں نے کم بجٹ میں AI موازنہ صفحات کیسے بنائے
مجھے اپنی AI ٹولز ڈائریکٹری کے لیے موازنہ صفحات بنانے کی ضرورت تھی۔
حساب کتاب کافی خوفناک تھا۔ 200 ماڈلز کے ساتھ، میرے سامنے تقریباً 20,000 ممکنہ جوڑے (pairs) تھے۔ اگر میں روزانہ ہر جوڑے کے لیے مواد تیار کرنے کے لیے Claude Haiku کا استعمال کرتا، تو اس کی لاگت بہت زیادہ ہو جاتی۔
یہاں بتایا گیا ہے کہ میں نے منطق اور حدود (limits) کا استعمال کرتے ہوئے اسے کیسے حل کیا۔
حکمت عملی
میں نے زیادہ ارادے والی (high-intent) تلاش (queries) پر توجہ دی۔ صارفین "Llama 3 vs Mistral" جاننا چاہتے ہیں۔ انہیں ایک فیصلے کی ضرورت ہے، نہ کہ کسی طویل مضمون کی۔
میں نے لاگت کو کنٹرول کرنے کے لیے ان اصولوں کا استعمال کیا:
• ماڈلز کو ان کے پائپ لائن ٹیگ کے مطابق گروہ بندی کریں۔ • ہر گروپ میں ڈاؤن لوڈ کی تعداد کے لحاظ سے صرف ٹاپ 4 ماڈلز کا انتخاب کریں۔ • کل جوڑوں (pairs) پر ایک سخت حد مقرر کریں۔
اس سے میرے جوڑے 20,000 سے کم ہو کر تقریباً 50 رہ گئے۔ اس سے مقبول ترین ماڈلز کا احاطہ کرتے ہوئے میری لاگت کم رہتی ہے۔
تکنیکی سیٹ اپ
میں نے ایک ETL عمل بنایا ہے جو ہر رات چلتا ہے۔ یہ idempotent ہے۔ اس کا مطلب ہے کہ اگر جوڑا پہلے سے ہی میرے ڈیٹا بیس میں موجود ہے، تو اسکرپٹ اسے چھوڑ دیتا ہے۔
زیادہ تر راتوں میں، اسکرپٹ 3 سیکنڈ میں چل جاتا ہے اور اس کی لاگت $0 ہوتی ہے کیونکہ یہ سب کچھ چھوڑ دیتا ہے۔
میں اسے موثر رکھنے کے لیے کئی طریقے استعمال کرتا ہوں:
• Prompt Caching: میں ایک مشترکہ Claude Haiku کلائنٹ استعمال کرتا ہوں۔ چونکہ سسٹم پرامپٹ (system prompt) وہی رہتا ہے، اس لیے کیشنگ (caching) کے ذریعے بعد والی کالز تقریباً مفت ہو جاتی ہیں۔ • Lean Prompts: میں ماڈل کے خلاصے کو 400 حروف تک محدود کر دیتا ہوں۔ اس سے ان پٹ چھوٹا اور تیز رہتا ہے۔ • Static Generation: میں ڈیٹا کو static JSON فائلوں میں تبدیل کرنے کے لیے Astro استعمال کرتا ہوں۔ صارف کے لیے کوئی سست ڈیٹا بیس کالز یا edge function کی تاخیر (latency) نہیں ہوتی۔
جب یہ ناکام ہو جائے تو کیا ہوتا ہے؟
AI غیر متوقع ہو سکتا ہے۔ کبھی کبھی Claude غلط JSON واپس کرتا ہے۔
میں نے ایک فال بیک (fallback) سسٹم لکھا ہے۔ اگر AI ناکام ہو جائے تو صفحہ کریش نہیں ہوتا۔ اس کے بجائے، یہ ایک معیاری ٹیمپلیٹ دکھاتا ہے۔ یہ صارف کو انفرادی ماڈل صفحات چیک کرنے کا کہتا ہے۔ میں ان ناکامیوں کو اپنے ڈیٹا بیس میں ٹریک کرتا ہوں تاکہ میں بعد میں انہیں دوبارہ کوشش کر سکوں۔
میں کیا مختلف کرتا
اگر میں آج دوبارہ شروع کرتا، تو میں دو چیزیں تبدیل کرتا:
- Cross-pipeline comparisons: دو ملتے جلتے ٹیکسٹ ماڈلز کے موازنہ کے بجائے ایک ٹیکسٹ ماڈل کا ویژن ماڈل سے موازنہ کرنا زیادہ قیمتی ہے۔
- Search-driven selection: ڈاؤن لوڈ کی تعداد استعمال کرنے کے بجائے، میں یہ فیصلہ کرنے کے لیے کہ کون سے جوڑے بنانے ہیں، صارفین کے اصل سرچ لاگز (search logs) استعمال کرتا۔
پابندیوں کے ساتھ تعمیر کرنا آپ کو زیادہ ہوشیاری سے کام کرنے پر مجبور کرتا ہے۔
Optional learning community: https://t.me/GyaanSetuAi
