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

收藏
最新工具
Wayback Machine
Wayback Machine

一个免费的网页历史存档和查询工具,可以能保存不同时间点的网页内容...

RunningHub
RunningHub

一个基于云端ComfyUI的高可用性平台,提供在线开发工作流、发...

绘蛙AI高清修复
绘蛙AI高清修复

智能修复图片模糊问题,一键拯救渣画质,如何把图片高清修复? 去看...

Unlucid AI
Unlucid AI

一个免费无审查的 AI 工具,提供包括视频博主视频制作、图像生成...

SuperClaude
SuperClaude

SuperClaude 是一个为 Claude Code 量身打...

 WisFile
WisFile

电脑本地运行的免费 AI 工具,专门解决文件命名乱、归类杂、手动...

GreenVideo
GreenVideo

一个无次数限制的视频下载平台,免费、稳定、速度快,支持全球100...

证件星
证件星

一个在线 AI 智能证件照制作工具,小白也能轻松上手,十秒就能做...

id-photo
id-photo

证件照大师,专业的证件照在线处理网站,具有证件照换底色,证件照质...

RealBankNotes
RealBankNotes

一个全球纸币收藏网站。目前有54000张纸币,数量还在增加,就好...