返回首页
最新
图形 RAG 用于 C/C++ 开发
1. 概述
该项目通过大型语言模型实现深度代码分析。通过构建基于 Neo4j 的图形 RAG,它使开发者和 AI 代理能够对 C/C++ 代码库执行传统搜索工具无法处理的复杂多层查询。仅使用 4 个 MCP API 和一个基础代理,它已经能够完成与代码库相关的许多任务。
2. 工作原理
系统使用 clangd 和 clang 解析并索引您的源文件,以创建高保真度的代码图。它捕获从高层文件夹结构到细粒度关系的所有内容,包括文件夹、文件、命名空间、类/结构、变量、方法等实体;以及 CALLS、INCLUDES、INHERITS、OVERRIDES 等关系。
系统采用自下而上的方法,为代码库的每个层级(从函数到整个文件夹)生成摘要和嵌入。这种结构化的上下文帮助 AI 代理理解“全局视图”,而不会在语法中迷失。
为了让您轻松入门,该项目包括:一个示例 MCP(模型上下文协议)服务器,以及一个演示 AI 代理,以展示图形的强大功能。您可以轻松地在图形 RAG 的基础上构建自己的自定义代理和服务器。
3. 效率与性能
增量更新:系统检测提交之间的变化,仅更新必要的部分。
并行处理:解析和摘要生成分布在多个工作进程中,优化数据共享。
智能缓存:结果被缓存以最小化冗余计算,为您节省时间和 LLM 成本。
4. 基准:Linux 内核
在工作站(12 核心,64GB RAM)上为 Linux 内核(WSL2 版本)构建代码图时,使用 10 个并行工作进程大约需要 ~4 小时,峰值内存使用约为 ~36GB。请注意,此过程不包括摘要生成,总时间可能会根据您的 LLM 提供商而有所不同。