文章目录
- 1. 引言
- 2. 核心概念与架构差异
- 2.1 RAG:基于向量语义的扁平化检索
- 2.2 RAG Graph:基于知识图谱的结构化推理
- 3. 关键技术对比
- 4. 场景选择决策框架
- 4.1 适合使用RAG的场景
- 4.2 适合使用RAG Graph的场景
- 5. 混合架构:RAG + RAG Graph
- 7. 商用项目案例:RAG 与 RAG Graph 实战
- 7.1 商用 RAG 项目案例
- Java 实现(Spring Boot + PGVector)
- Python 实现(LangChain + ChromaDB)
- Node.js 实现(LangChain.js + Supabase pgvector)
- 7.2 商用 RAG Graph 项目案例
- Java 实现(Neo4j + Spring Data)
- Python 实现(Neo4j + LangChain GraphCypherQAChain)
- Node.js 实现(Neo4j Driver + LangChain.js)
- 7.3 项目选型建议
- 8. 性能调优与生产实践
- 8.1 RAG 性能调优
- Chunk 大小
- 向量维度
- 缓存策略
- 并发处理
- 8.2 RAG Graph 性能调优
- 图遍历深度
- 缓存策略
- 并发处理
- 8.3 监控指标示例
- 8.5 调优流程图
- RAG 调优流水线
- RAG Graph 调优流水线
- 8.4 调优流程总结
- 6. 总结
- 核心差异回顾
- 选择决策框架
- 混合架构:最佳实践
- 未来趋势与建议
1. 引言
在构建基于大语言模型(LLM)的企业级AI Agent时,如何让模型“知道”它本不知道的私有知识,是决定应用成败的关键。RAG(Retrieval-Augmented Generation,检索增强生成)与RAG Graph(基于知识图谱的检索增强生成)是当前最主流的两条技术路径。本文将从AI Agent架构师的视角,深入剖析两者的核心差异、技术原理,并给出清晰的场景选择决策框架。
2. 核心概念与架构差异
2.1 RAG:基于向量语义的扁平化检索
RAG的核心思想是将外部知识库(如文档、PDF、数据库记录)切分成文本块(Chunk),通过Embedding模型将其转化为高维向量,存入向量数据库。当用户提问时,将问题同样向量化,在向量空间中执行近似最近邻(ANN)搜索,召回最相似的Top-K个文本块,作为上下文注入LLM以生成答案。
架构特征:
- 数据模型:扁平化的向量空间,每个Chunk是独立的语义单元。
- 检索逻辑:基于余弦相似度或欧氏距离的语义匹配,本质是“找相似”。
- 上下文窗口:受限于LLM的上下文长度,通常只能拼接有限数量的Chunk。
- 知识粒度:粗粒度,依赖Chunk切分策略(如固定大小、语义切分)。