Yerel RAG ile CAD API: Tescilli Arayüzün Bilgi Eksikliği Nasıl Aşılır
Hexagon
Bir mühendis, Smart3D'de otomasyona ihtiyaç duydu ancak API bilgisi bir darboğaz oluşturuyordu. Yerel bir RAG hattı kurdu: kütüphaneleri derleyip çözümledi, gerçekleri çıkardı, bunları büyük dil modeli (LLM) aracılığıyla zenginleştirdi, gömme (embedding) dizinleri oluşturdu ve doğrulamalı bir ajan uyguladı; böylece model yalnızca gerçek API varlıklarına dayanan kod üretebiliyor.
Hexagon'un Smart3D (Intergraph Smart 3D) CAD sistemiyle çalışan bir yazar, bir otomasyon zorluğuyla karşılaştı: tescilli API hakkındaki bilgi pahalı ve erişilmesi zordu, ayrıca veri kıtlığı nedeniyle herkese açık büyük dil modelleri hayali yöntemler üretiyordu. Sistemin kendi kütüphanelerinden bilgi çıkaran yerel bir RAG (Retrieval-Augmented Generation) hattı oluşturmaya karar verdi. İlk olarak, derlenmiş Smart3D derlemelerini tersine derledi ve yöntem 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, bu verileri zenginleştirmek için bir dil modeli kullandı: kullanım senaryoları ve arama ipuçları formüle etti ve yalnızca onaylanmış olgularla sınırlı kaldı. Gömme gömmeler için, mühendis sorguları çift dilli (Rusça ve İngilizce) olduğundan çok dilli model bge-m3'ü seçti. Varlık kartları, imza, açıklama, olgular ve ipuçlarını içeren parçalar olarak hizmet etti. Sonuç, vektör aramasıyla ilgili varlıkları bulan, bunları C# kodu oluşturmak için bağlam olarak kullanan ve sonucu kaynak verilere başvurarak doğrulayan bir ajan oldu. Sistem halihazırda gerçek bir projede otomasyonu hızlandırmak için kullanılıyor.
Kaynak: Habr — хаб NLP —
orijinal
