میں نے براؤزر میں ایک CAD ایڈیٹر بنایا، پھر ایک LLM کو اسے استعمال کرنا سکھایا
میں نے براؤزر میں ایک CAD ایڈیٹر بنایا۔ پھر میں نے اسے ایک AI کو دے دیا۔
اس کا اصل فائدہ ایک ڈیمو کے دوران ہوا۔ میں نے ایپ سے پوچھا، "وہاں کتنے دروازے اور کھڑکیاں ہیں؟"
AI نے انہیں گنا۔ پھر اس نے مزید کہا: "نوٹ: D3 صرف 300mm چوڑا ہے۔ غالباً یہ غلط پہچانا گیا دروازہ ہے۔ کیا آپ چاہتے ہیں کہ میں اسے چیک کروں؟"
AI درست تھا۔ میرے ڈیٹا پائپ لائن نے جیومیٹری کے ایک ٹکڑے کو 30cm کے دروازے میں بدل دیا تھا۔ کسی انسان نے اسے نہیں دیکھا تھا۔ ماڈل نے ایک ایسا دروازہ دیکھا جو جوتے کے ڈبے سے بھی زیادہ تنگ تھا اور اس کی نشاندہی کر دی۔
اس پروجیکٹ کے لیے بڑے تکنیکی مسائل کو حل کرنے کی ضرورت تھی:
• DWG فائلوں کو پارس کرنا، جو کہ اپنی مشکل کے لیے مشہور ہیں۔ • ہزاروں بے ترتیب لائنوں سے عمارت کے ماڈلز کی دوبارہ تعمیر کرنا۔ • HTML5 Canvas کا استعمال کرتے ہوئے شروع سے ایک 2D CAD ایڈیٹر بنانا۔ • Claude کو ٹولز کے ایک سیٹ کے ساتھ بطور ایجنٹ جوڑنا۔
سسٹم اس طرح کام کرتا ہے:
- اپ لوڈ: آپ براؤزر میں ایک DWG فائل ڈالتے ہیں۔
- پروسیس: ایک بیک گراؤنڈ جاب فائل کو تبدیل کرتی ہے اور جیومیٹری نکالتی ہے۔ یہ دیواروں، دروازوں، کھڑکیوں اور کمروں کی شناخت کرتی ہے۔
- ویو: آپ کو اسنیپنگ (snapping) اور انڈو ہسٹری (undo history) کے ساتھ ایک 3D ویور اور مکمل 2D ایڈیٹر ملتا ہے۔
- ایڈٹ: آپ تبدیلیوں کے لیے AI ایجنٹ کو بتانے کے لیے ایک چیٹ پینل استعمال کرتے ہیں۔
AI صرف چیٹ نہیں کرتا۔ یہ ڈیٹا بیس کو ایڈٹ کرنے کے لیے ٹولز کا استعمال کرتا ہے۔ اگر آپ کہیں، "سب سے لمبی دیوار پر ایک کھڑکی لگائیں،" تو AI دیوار کی شناخت کرتا ہے اور وہاں جگہ (opening) بنا دیتا ہے۔
تعمیر کے دوران حاصل ہونے والے اہم اسباق:
• فائل ہیڈرز پر کبھی بھروسہ نہ کریں۔ DWG فائلیں اکثر یونٹس کے بارے میں غلط معلومات دیتی ہیں۔ میں نے ہیڈر کو نظر انداز کرنا اور اسکیل (scale) معلوم کرنے کے لیے اصل کوآرڈینیٹ نمبروں کو دیکھنا سیکھا۔ • ایک ہی رائٹ پاتھ (write path) استعمال کریں۔ UI، امپورٹ پائپ لائن، اور AI سب ایک ہی ویلیڈیٹڈ پاتھ استعمال کرتے ہیں۔ یہ اس بات کو یقینی بناتا ہے کہ AI ناممکن جیومیٹری تخلیق نہ کر سکے۔ • AI کو ایک 'انڈو اسٹوری' (undo story) دیں۔ جب AI کوئی ترمیم کرتا ہے، تو سسٹم اس پورے عمل کو ایک ہی انڈو سٹیپ (undo step) میں ضم کر دیتا ہے۔ اگر AI سے غلطی ہو جائے، تو آپ سب کچھ واپس لانے کے لیے Ctrl+Z دبا سکتے ہیں۔ • ریاضیاتی حدوں (math thresholds) کے بجائے ٹوپولوجیکل قوانین (topological rules) استعمال کریں۔ میں نے شروع میں رقبے کے ذریعے کمروں کو تلاش کرنے کی کوشش کی۔ یہ L-شکل کی عمارتوں پر ناکام رہا۔ میں نے ٹوپولوجیکل اصول پر منتقل ہو گیا: ایک جڑے ہوئے انتظام میں سب سے بڑا فیس (face) ہمیشہ باہر کا حصہ ہوتا ہے۔ باقی سب کچھ برقرار رکھیں۔
مشکل حصہ AI نہیں تھا۔ بلکہ بے نام لائنوں کو حقیقی عمارت کے ڈیٹا میں بدلنا تھا۔ AI فیچر میں صرف چند دن لگے کیونکہ بنیاد مضبوط تھی۔
ماخذ: https://dev.to/arif/i-built-a-cad-editor-in-the-browser-then-taught-an-llm-to-use-it-1l92
اختیاری لرننگ کمیونٹی: https://t.me/GyaanSetuAi
