CAD API के लिए स्थानीय RAG: मालिकाना इंटरफ़ेस के ज्ञान की कमी को कैसे दूर करें
Hexagon
एक इंजीनियर को Smart3D में स्वचालन की आवश्यकता थी, लेकिन API ज्ञान एक बाधा था। उन्होंने एक स्थानीय RAG पाइपलाइन बनाई: लाइब्रेरीज़ को डीकंपाइल किया, तथ्य निकाले, उन्हें LLM के माध्यम से समृद्ध किया, एम्बेडिंग इंडेक्स बनाए, और सत्यापन के साथ एक एजेंट लागू किया — ताकि मॉडल केवल वास्तविक API इकाइयों पर निर्भर कोड उत्पन्न कर सके।
Hexagon के Smart3D (Intergraph Smart 3D) CAD सिस्टम के साथ काम करने वाले एक लेखक को ऑटोमेशन की चुनौती का सामना करना पड़ा: मालिकाना API का ज्ञान महंगा और दुर्लभ था, जबकि सार्वजनिक LLM डेटा की कमी के कारण काल्पनिक विधियाँ उत्पन्न कर रहे थे। उन्होंने एक स्थानीय RAG पाइपलाइन बनाने का निर्णय लिया जो सिस्टम की अपनी लाइब्रेरीज़ से ज्ञान निकालती है। पहले, उन्होंने संकलित Smart3D असेंबलियों को डीकंपाइल किया और एक पार्सर लिखा जो सिग्नेचर, एक्सएमएल डॉक्यूमेंटेशन और विधि निकायों से तथ्य (कॉल्स, अपवाद, बनाई गई वस्तुएँ) निकालता है। फिर उन्होंने इस डेटा को समृद्ध करने के लिए एक भाषा मॉडल का उपयोग किया: उपयोग परिदृश्य और खोज सुझाव तैयार किए, और केवल पुष्टि किए गए तथ्यों पर सख्ती से सीमित रखा। एम्बेडिंग के लिए, उन्होंने बहुभाषी मॉडल bge-m3 को चुना, क्योंकि इंजीनियरों के प्रश्न द्विभाषी (रूसी और अंग्रेजी) होते हैं। इकाई कार्ड चंक के रूप में कार्य करते थे, जिसमें सिग्नेचर, विवरण, तथ्य और सुझाव होते थे। परिणाम एक एजेंट था जो वेक्टर खोज के माध्यम से प्रासंगिक इकाइयाँ ढूंढता है, उन्हें C# कोड उत्पन्न करने के लिए संदर्भ के रूप में उपयोग करता है, और स्रोत डेटा का संदर्भ देकर परिणाम को सत्यापित करता है। यह सिस्टम पहले से ही एक वास्तविक प्रोजेक्ट पर ऑटोमेशन को गति देने के लिए उपयोग में है।
स्रोत: Habr — хаб NLP —
मूल
