मी ब्राउझरमध्ये एक CAD एडिटर तयार केला, आणि नंतर एका LLM ला तो वापरण्यास शिकवले
मी ब्राउझरमध्ये एक CAD एडिटर तयार केला. त्यानंतर मी तो एका AI कडे सोपवला.
याचा खरा फायदा एका डेमो दरम्यान दिसून आला. मी ॲपला विचारले, "येथे किती दरवाजे आणि खिडक्या आहेत?"
AI ने त्यांची मोजणी केली. त्यानंतर त्याने पुढे असेही म्हटले: "टीप: D3 ची रुंदी फक्त 300mm आहे. बहुधा दरवाजा चुकीच्या पद्धतीने ओळखला गेला असावा. मी तो तपासावा का?"
AI बरोबर होते. माझ्या डेटा पाइपलाइनने भूमितीच्या (geometry) एका भागाचे रूपांतर ३० सेमीच्या दरवाजात केले होते. कोणत्याही मानवी डोळ्याला ते दिसले नाही. पण मॉडेलने एका चपलेच्या बॉक्सपेक्षाही अरुंद असलेला दरवाजा पाहिला आणि तो हायलाइट (flag) केला.
या प्रकल्पासाठी मोठ्या तांत्रिक आव्हानांवर मात करणे आवश्यक होते:
• DWG फाइल्स पार्स करणे, जे अत्यंत कठीण असते. • हजारो विखुरलेल्या रेषांपासून इमारतीचे मॉडेल्स पुन्हा तयार करणे. • HTML5 Canvas वापरून शून्यापासून 2D CAD एडिटर तयार करणे. • Claude ला टूल्सच्या संचासह (set of tools) एका एजंटच्या स्वरूपात जोडणे.
ही प्रणाली कशी काम करते ते खालीलप्रमाणे आहे:
- अपलोड: तुम्ही ब्राउझरमध्ये DWG फाईल ड्रॉप करता.
- प्रोसेस: बॅकग्राउंड जॉब फाईलचे रूपांतर करतो आणि भूमिती (geometry) काढतो. तो भिंती, दरवाजे, खिडक्या आणि खोल्या ओळखतो.
- व्ह्यू: तुम्हाला स्नॅपिंग (snapping) आणि अनडू हिस्ट्रीसह (undo history) 3D व्ह्यूअर आणि पूर्ण 2D एडिटर मिळतो.
- एडिट: बदल करण्यासाठी तुम्ही चॅट पॅनेलद्वारे AI एजंटला सूचना देता.
AI फक्त चॅट करत नाही. ते डेटाबेस एडिट करण्यासाठी टूल्सचा वापर करते. जर तुम्ही म्हणालात, "सर्वात लांब भिंतीवर एक खिडकी जोडा," तर AI ती भिंत ओळखते आणि तिथे खिडकीचे ठिकाण निश्चित करते.
या निर्मितीमधून मिळालेले महत्त्वाचे धडे:
• फाईल हेडर्सवर कधीही विश्वास ठेवू नका. DWG फाइल्स अनेकदा युनिट्सबद्दल चुकीची माहिती देतात. मी हे शिकलो की हेडर्सकडे दुर्लक्ष करून स्केल शोधण्यासाठी प्रत्यक्ष कोऑर्डिनेट (coordinate) नंबर्सकडे पाहावे. • एकच 'राईट पाथ' (write path) वापरा. UI, इम्पोर्ट पाइपलाइन आणि AI हे सर्व एकाच व्हॅलिडेटेड पाथचा वापर करतात. यामुळे AI अशक्य भूमिती तयार करू शकत नाही याची खात्री मिळते. • AI ला 'अनडू स्टोरी' (undo story) द्या. जेव्हा AI एखादा बदल करते, तेव्हा सिस्टम त्या संपूर्ण कृतीला एकाच 'अनडू' स्टेपमध्ये एकत्रित करते. जर AI ने चूक केली, तर तुम्ही सर्व काही पूर्ववत करण्यासाठी Ctrl+Z दाबू शकता. • गणितीय थ्रेशोल्डऐवजी (math thresholds) टोपोलॉजिकल नियमांचा (topological rules) वापर करा. मी सुरुवातीला क्षेत्रफळावरून (area) खोल्या शोधण्याचा प्रयत्न केला. पण L-आकाराच्या इमारतींच्या बाबतीत हे अपयशी ठरले. त्यानंतर मी टोपोलॉजिकल नियमाचा वापर केला: जोडलेल्या रचनेतील सर्वात मोठा भाग (face) नेहमी बाहेरचा भाग असतो. बाकी सर्व भाग आतले मानले जातात.
कठीण भाग AI नव्हता. तर विखुरलेल्या रेषांचे रूपांतर खऱ्या इमारतीच्या डेटामध्ये करणे हे होते. पाया भक्कम असल्यामुळे AI फीचर तयार करण्यासाठी फक्त काही दिवस लागले.
Source: https://dev.to/arif/i-built-a-cad-editor-in-the-browser-then-taught-an-llm-to-use-it-1l92
Optional learning community: https://t.me/GyaanSetuAi
