Local RAG for CAD API: Overcoming Knowledge Gaps in Proprietary Interfaces
Hexagon
An engineer faced the need to automate tasks in Smart3D, but knowledge of the API was a bottleneck. He built a local RAG pipeline: decompiled libraries, extracted facts, enriched them via LLM, created embedding indices, and implemented an agent with verification — so the model generates code based solely on real API entities.
Hexagon firmasının Smart3D (Intergraph Smart 3D) CAD yazılımıyla çalışan bir yazar, otomasyonla ilgili bir sorunla karşılaştı: tescilli API bilgisi pahalı ve zor erişilebilirdi, genel LLM'ler ise veri eksikliği nedeniyle hayali metodlar üretiyordu. Sistemin kendi kütüphanelerinden bilgi çeken yerel bir RAG hattı oluşturmaya karar verdi. Önce Smart3D'nin derlenmiş derlemelerini tersine derledi ve metod gövdelerinden imzaları, XML belgelerini ve olguları (çağrılar, istisnalar, oluşturulan nesneler) çıkarmak için bir ayrıştırıcı yazdı. Ardından, bir dil modeli kullanarak bu verileri zenginleştirdi: kullanım senaryoları ve arama ipuçları formüle etti ve kendini kesinlikle yalnızca doğrulanmış olgularla sınırladı. Gömme için, mühendis soruları iki dilli olduğundan (Rusça ve İngilizce) çok dilli bge-m3 modelini seçti. Parçalar, imza, açıklama, olgular ve ipuçları içeren varlık kartları haline geldi. Sonuç olarak, vektör aramasına dayanarak ilgili varlıkları bulan, bunları C# kodu oluşturmak için bağlam olarak kullanan ve sonucu kaynak verilere atıfta bulunarak doğrulayan bir ajan ortaya çıktı. Sistem halihazırda üretim projesinde otomasyonu hızlandırmak için kullanılıyor.
Kaynak: Habr — хаб NLP —
orijinal
