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

收藏
最新工具
GolpoAi
GolpoAi

一款专门做解说视频的 AI 视频生成工具,用自研的视频生成引擎,...

ImaginePro AI
ImaginePro AI

一个用 AI 做图像生成和设计的平台,能把文字和图片变成高质量的...

打字鸭
打字鸭

一个免费的在线打字练习平台,能练字母、拼音、汉字、英文等,还有科...

PanSou
PanSou

高性能的网盘资源搜索 API 服务,支持TG频道搜索和自定义插件...

APPLORE
APPLORE

创意社区 UIBoy 推出的应用logo图标灵感与配色分析平台,...

FastBuildAI
FastBuildAI

一个面向AI开发者,创业者设计的开源AI应用框架,它几分钟就能部...

MindVideo AI
MindVideo AI

一款免费的在线视频生成工具,可以用文字或图片快速生成视频,支持多...

Endex AI
Endex AI

一款专为金融领域打造的智能 Excel 助手,它将 AI 模型嵌...

Bloxd.io
Bloxd.io

免费的在线多人沙盒游戏,灵感来自《我的世界》,有类似的像素风格和...

FmStream
FmStream

一个免费的全球在线电台目录网站,收录了很多国家的各类广播电台,能...