>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
Python

Grafy wiedzy zamiast gigabajtów osadzeń do analizy kodu w monorepozytoriach

Znana sytuacja: wrzucasz duże monorepozytorium do asystenta AI, a on zaczyna mieszać wywołania funkcji z sąsiednich serwisów, gubi połączenia między modułami i wymyśla nieistniejące argumenty. Standardowe wyszukiwanie wektorowe całkiem nieźle radzi sobie z znajdowaniem podobnych fragmentów tekstu. Jednak reprezentacje wektorowe mają trudności ze zrozumieniem sztywnej struktury kodu, gdzie pojedyncza zmiana nazwy zmiennej lub niejawnego importu zmienia logikę całej aplikacji.

Deweloper Vitaliy stworzył projekt code-graph-rag, aby rozwiązać ten problem systematycznie. Zamiast polegać wyłącznie na osadzeniach wektorowych, narzędzie buduje graf wiedzy bazy kodu.

demo

Jak to działa pod maską

System zbudowany jest na trzech głównych komponentach: parserze Tree-sitter, bazie grafowej Memgraph i bazie wektorowej Qdrant.

Oto jak to działa:

  1. Tree-sitter parsuje pliki źródłowe do abstrakcyjnych drzew składni (AST).
  2. Analizator wyodrębnia węzły: funkcje, klasy, metody, moduły oraz relacje między nimi.
  3. Dane są zapisywane w Memgraph według ujednoliconego, niezależnego od języka schematu.
  4. Na szczycie tej struktury narzędzie CLI cgr tłumaczy pytania w języku naturalnym na precyzyjne zapytania Cypher do bazy grafowej.

W rezultacie, gdy pytasz „gdzie funkcja X jest używana i dokąd przepływają jej dane?

Powiązane projekty