Gemini+
Ollama + sentence-transformers+ BAAI/bge-m3+ BAAI/bge-reranker-v2-m3+ Marker+ ChromaDB+ LightRAG向量检索+知识图谱+交叉编码重排的混合知识库RAG管道,答案自动带引用
方案简介
NexusRAG 是一个带代理式聊天、自动引用与知识图谱的混合知识库方案。它将向量搜索、知识图谱和交叉编码器重排组合成一条完整的 RAG 管道,后端可由 Gemini(云端)、本地 Ollama 或完全离线的 sentence-transformers 驱动。相比传统「切分→嵌入→检索→生成」的简单流程,它在每个环节都有增强:文档解析保留结构、图片表格向量化、三路并行检索、LightRAG 实体图谱、结构化上下文组装以及自动生成带页码和标题路径的 4 字符引用。适合需要构建可溯源企业知识库、对检索精度和引用可验证性有要求的开发者与团队。
亮点与能力
- 深度文档解析:Docling 或 Marker 可通过环境变量切换,保留标题层级、页边界、公式与版式
- 图片与表格可搜索:视觉 LLM 为图片生成描述、文本 LLM 为表格生成摘要,拼入文本块后一起嵌入向量
- 混合语义+结构分块:尊重标题和表格边界,避免句子被切断
- 双嵌入模型:BAAI/bge-m3(1024维)用于搜索,KG 嵌入可选 Gemini 3072维 / Ollama / sentence-transformers
- 三路并行检索:向量超取 top-20 + 知识图谱实体查找 + 交叉编码器重排
- 自动引用系统:每个答案带 4 字符引用 ID(如 [a3z1]),含页码与标题路径
- 自定义元数据:上传时可附加键值元数据,支持语义+元数据混合过滤
- 多后端灵活:Gemini / Ollama / 纯本地 sentence-transformers 三种配置
组成与分工
- Docling(默认解析器):支持 PDF、DOCX、PPTX、HTML,保留结构,公式增强时约需 18-20GB 显存
- Marker(可选解析器):Surya 提供 superior LaTeX 公式支持,约 2-4GB 显存,支持更多格式(含 XLSX、EPUB)
- ChromaDB:向量数据库,余弦相似度检索,超取 top-20 候选
- LightRAG:知识图谱层,实体/关系抽取、关键词到实体匹配、多跳遍历
- BAAI/bge-m3:1024 维多语言双编码器,负责向量嵌入
- BAAI/bge-reranker-v2-m3:交叉编码器,将查询与文本块联合编码打分重排
- Gemini / Ollama / sentence-transformers:生成与 KG 嵌入后端,可配置切换
- Gemini Vision / Ollama 多模态:为图片生成描述 caption
实施步骤
1. 选择并配置文档解析器
在 .env 中切换解析器:
bash
Switch parser in .env
NEXUSRAG_DOCUMENT_PARSER=marker # or "docling" (default)
Docling 为默认选项,公式增强需要约 18-20GB 显存;若 GPU 资源有限或需要 XLSX/EPUB 格式,可改用 Marker(约 2-4GB 显存)。
2. 配置 LLM 后端
按需求选择 Gemini(云端)、本地 Ollama 或完全离线的 sentence-transformers 作为生成与 KG 嵌入后端。
3. 上传文档
通过上传 API 传入文档,可附带 custom_metadata(键值列表)用于后续过滤。解析器提取文本、图片(每文档最多 50 张)和表格,图片由视觉 LLM 生成 caption,表格由文本 LLM 生成不超过 500 字符的摘要,拼入对应页面的文本块后统一嵌入。
4. 提问与获取带引用的答案
查询时可在 chat API 传入 metadata_filter,管道并行执行向量超取与 KG 实体查找,交叉编码器重排后保留相关性阈值 0.15 以上的 top-8(若全部低于阈值则回退到 top-3),最终答案带 4 字符引用 ID 并可在文档查看器中按页导航。
使用与配置要点
- 切换解析器:修改
.env中的NEXUSRAG_DOCUMENT_PARSER(marker 或 docling) - 上传文档时传
custom_metadata,查询/聊天 API 传metadata_filter实现混合检索 - 检索结果以
[IMG-p4f2]形式引用匹配页面上的图片 - 表格摘要会以 blockquote 形式注入回文档 Markdown,供文档查看器展示
- 验证成功:答案应包含 4 字符引用 ID(如
[a3z1]),且引用可跳转到对应页码与标题路径
注意事项与常见问题
- Docling 解析器的数学公式支持为基础级别,存在已知 LaTeX 问题;需要 superior LaTeX 时应切换 Marker
- Docling 的公式增强约需 18-20GB VRAM,资源紧张时选 Marker(约 2-4GB)
- 两个解析器共享相同的输出契约(
ParsedDocument),下游管道(去重、嵌入、KG、检索)行为一致,切换无需改动下游 - 相关性阈值默认 0.15,若所有候选均低于阈值会回退返回 top-3
优缺点
- ✓ 三路并行检索精度高
- ✓ 支持Gemini/Ollama/离线多种
- ✕ 配置项多上手较复杂
- ✕ 依赖文档较长阅读成本高
出处
本方案挖掘自开源项目 LeDat98/NexusRAG,方案内容与实施命令均来自其 README 原文。
本方案由真实开源项目挖掘整理,实施命令均来自其 README 原文,安装使用请遵循项目开源协议。