Code-Graph-RAG:一款基于知识图谱的代码搜索引擎

Code-Graph-RAG是一个融合知识图谱与检索增强生成(RAG)技术的代码搜索引擎,目的在于提升代码搜索的精准度。

Code-Graph-RAG:一款基于知识图谱的代码搜索引擎.webp

主要功能:

  • 支持 Python、JavaScript、TypeScript、Rust 和 Go 等多语言代码库

  • 基于 Tree-sitter 实现跨语言的抽象语法树(AST)解析

  • 采用 Memgraph 存储代码结构为互联图谱

  • 支持自然语言查询代码库

  • 通过 Google Gemini 将自然语言转换为 Cypher 查询语句

  • 可直接检索函数/方法的实际源代码

  • 能解析 pyproject.toml 分析外部依赖

  • 支持处理嵌套函数和类层次结构

  • 所有支持语言采用统一图模式设计

技术原理:

  • 知识图谱构建:大模型分析代码库后提取类、函数等实体及其关系(如继承、依赖),构建互联图谱。例如输入代码文档后,系统会拆分文本单元,识别代码结构并生成对应图谱。

  • 图增强检索:

  • 子图检索:用户提问后,系统提取关键实体并在图谱中扩展关联路径(如3跳邻域),生成匹配子图。例如查询某个函数时,可关联到相关类、模块等节点。

  • 混合检索策略:结合向量检索(如BERT嵌入)和图嵌入(如Node2Vec、TransE),通过加权公式(如Score=α⋅cos_sim(q,v)+β⋅graph_score(q,G))确定最终结果。

系统架构:

  • 多语言解析器:基于 Tree-sitter 的代码解析与数据导入系统

  • RAG 系统:交互式命令行查询界面

核心组件包括:

  • Tree-sitter 集成:实现跨语言解析

  • 图数据库:Memgraph 存储节点与关系

  • LLM 集成:Google Gemini 处理自然语言

  • 代码分析:跨语言 AST 遍历提取代码元素

  • 查询工具:专用图查询与代码检索工具

  • 语言配置:多语言映射参数

安装与使用:

  • 前提条件:Python 3.12+、Docker 及 Docker Compose(Memgraph)、Google Gemini API 密钥、uv 包管理器

  • 安装步骤:克隆仓库→安装依赖→配置环境变量→启动 Memgraph

  • 使用流程:解析代码库生成知识图谱→启动 RAG CLI 进行交互查询

应用场景:

  • 代码分析:快速理解代码结构,如查询特定名称类或数据库相关函数

  • 代码复用:通过自然语言描述需求获取语义匹配的代码片段,提升开发效率

项目地址:

https://github.com/vitali87/code-graph-rag

收藏
最新工具
墨刀AIPPT
墨刀AIPPT

墨刀推出的一款AI PPT生成工具,能让PPT制作变得高效又简单...

Vozart AI
Vozart AI

一款AI音乐与歌词生成器,可把文本提示或歌词转换为录音室品质的免...

CodeBuff
CodeBuff

一款在终端使用的 AI 编程工具,它能够快速索引代码库、精准地编...

百度Comate AI IDE
百度Comate AI IDE

百度推出的文心快码独立AI原生开发环境工具,这是行业内首个具备多...

unDraw
unDraw

美国设计师Katerina Limpitsouni创作的开源插画...

Storyset
Storyset

一个由知名素材平台Freepik公司旗下的免费在线自定义矢量插画...

Jigsaw Planet
Jigsaw Planet

一个数百万免费在线拼图平台,用户能直接通过浏览器创建、游玩和分享...

GeoFS
GeoFS

一款免费的网页版多人飞行模拟器网站,只要浏览器就可以运行,不需要...

Avido AI
Avido AI

通过 AI 技术帮用户生成适合 YouTube 和 TikTok...

表答AI
表答AI

一款能抓取网页内容并能情感分析的数据分析产品,并把采集分析过程自...