Docling + Gemini Gemini+ Ollama Ollama + sentence-transformers+ BAAI/bge-m3+ BAAI/bge-reranker-v2-m3+ Marker+ ChromaDB+ LightRAG

向量检索+知识图谱+交叉编码重排的混合知识库RAG管道,答案自动带引用

✓ 三路并行检索精度高✓ 支持Gemini/Ollama/离线多种 ✕ 配置项多上手较复杂✕ 依赖文档较长阅读成本高

方案简介

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 原文。

方案出处
LeDat98/NexusRAG:Hybrid RAG system combining vector search, knowledge graph (LightRAG), and cross
519 star Hybrid RAG system combining vector search, knowledge graph (LightRAG), and cross-encoder reranking — with Docling document parsing, visual intelligence (image/table captioning), agentic streaming chat

本方案由真实开源项目挖掘整理,实施命令均来自其 README 原文,安装使用请遵循项目开源协议。