Paikallinen RAG CAD-rajapinnalle: Kuinka selättää omaisuusrajapinnan tiedonpuute
Hexagon
Insinööri tarvitsi automaatiota Smart3D:ssä, mutta API-tieto oli pullonkaula. Hän rakensi paikallisen RAG-putken: dekompiloi kirjastoja, poimi faktoja, rikasti niitä LLM:llä, loi upotusindeksit ja toteutti agentin varmennuksella – joten malli tuottaa koodia, joka perustuu vain todellisiin API-entiteetteihin.
Hexagonin Smart3D (Intergraph Smart 3D) -CAD-järjestelmän kanssa työskentelevä kirjoittaja kohtasi automaatiohaasteen: tieto järjestelmän omasta rajapinnasta oli kallista ja vaikeasti saatavilla, kun taas julkiset kielimallit tuottivat keksittyjä metodeja tiedon vähyyden vuoksi. Hän päätti rakentaa paikallisen RAG-putkiston, joka poimii tietoa järjestelmän omista kirjastoista. Ensin hän purettiin käännettyjen Smart3D-kokoonpanojen lähdekoodin ja kirjoitti jäsentimen, joka poimii allekirjoitukset, XML-dokumentaation ja faktoja metodien rungoista (kutsut, poikkeukset, luodut oliot). Sitten hän käytti kielimallia tämän datan rikastamiseen: muotoili käyttöskenaarioita ja hakuvihjeitä, rajoittuen tiukasti vain vahvistettuihin faktoihin. Upotuksia varten hän valitsi monikielisen mallin bge-m3, koska insinöörien kyselyt ovat kaksikielisiä (venäjä ja englanti). Kokonaisuuksien kuvaukset toimivat paloina, jotka sisälsivät allekirjoituksen, kuvauksen, faktat ja vihjeet. Tuloksena oli agentti, joka löytää relevantit kokonaisuudet vektori-haun avulla, käyttää niitä kontekstina C#-koodin tuottamiseen ja tarkistaa tulokset vertaamalla niitä lähdedataan. Järjestelmä on jo käytössä oikeassa projektissa nopeuttamassa automaatiota.
Lähde: Habr — хаб NLP —
Alkuperäinen
