本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:
- 我的帖子已经打上 开源推广 标签: 是
- 我的开源项目完整开源,无未开源部分: 是
- 我的开源项目已链接认可 LINUX DO 社区: 是
- 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是
- 以上选择我承诺是永久有效的,接受社区和佬友监督: 是
以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出
2025.11.30我决定做一个企业级知识库项目,原因可能是有了一些工作上或者学习生活中的积累,决定差不多了。(帮助别人做了glyph这个项目拿到了国二差不多就是工作空隙时间20天左右),我是10月初开始接触vibe coding的那时候 codex claude code 还流口水,整个项目的设计哲学还得参考我之前写的项目。到11.30底的时候其实claude code codex已经可用了,然后我开始着手去做知识库。我的设计哲学就是让rag 每一部分做到可监控。 我希望这个知识库可以回答或者如果没法召回能够如何调整,怎么切块,怎么实体抽取,怎么治理元数据,怎么召回。 把它做成一个标准流程同时可管理。
把rag的每一步都做到极致,那么得到的就是一个极致的rag了。整个项目在市级的智能助手上验证过下面我会贴出一点测试报告。 我不会去试图解答什么,但是这个项目会给做企业级rag的佬们一点启发。
知识库管理截图


主流解析支持

入库到证据评测


知识图谱主流的解法一个是kg-rag 第二个是graphrag, 前者不够灵活,后者的话资源消耗太大了,所以企业里面很少用graphrag因为他的检索成本很难接受,退而求其次可能Lightrag已经是最高能够接受的grphrag方案,这里我们借鉴了sag的思路把chunk 抽取事件然后作为元数据去管理,显著降低召回该分支的时延。

直接接入 Dify
关于dify, 我想这个知识库应该类似ragflow那样支持外链到dify中去。我们没有在 MimirQ 里重复实现 Dify 工作流画布,(这部分是dify的很强的优点也最优特色部分了) dify一切都很好,只是知识库有点弱项。让它作为可治理的外部知识层接入现有应用。
目前支持 Dify External Knowledge API 和 Workflow HTTP 节点。 支持直接接入dify也可以通过接口接入。
对比实验

后续
MimirQ 还远谈不上完美。但是能给佬们一些启示,其实在4月份的时候我已经做不下去了,那时候我已经积累相当多的内容了,真正好的rag系统肯定是基于业务来谈的,诸如dify、mimirq、ragflow 、fastgpt等等之类的,大家做着做着都变成通用了,如果让我做一个rag,我可能不会选择这些,因为消耗的精力可能比我直接做来的更多,。知识库 整个流程是 文档解析(mineru or deepdoc)->文档治理(脚本,规则 dsl)->切块 (递归、父子块 等等)-> 入库(向量库)-》召回(混合召回等等 bm25+向量检索),ragflow的优势在于deepdoc graphrag 图谱, 其他优势很小, ragflow 是可以代替dify的知识库作为外链知识库,但是实际我们使用下来很多工程问题。 ragflow其实不是大部分企业的优选,当然业务简单用平台更容易,如果是一个稳定的业务流程可能是这样的。 客户数据拿来,第一步先, 拿一批数据做评估 比如pdf里有多少图片 有多少文字 等等(报价) 这一步用mineru 现在效果最好,解析完了后。知道收多少钱后。开始正式做业务, 第一步 按照不同业务选择不同解析模型, 复杂排版不可编辑用mineru,公式很多的数学书用docling,都是txt文字的用markitdown, 没算力可以上deepdoc(这些有人抽出来),之后人工清洗整理解析后的文章,然后做切块, 根据业务来切 不要死的重叠快切(一般800主流),比如根据文章切 标题啥的,这类ragflow有设计可以参考,切完后 入库一般选Milvus 主流。 然后 整个rag就做好了, 整个流程搭建 任意框架, 哪怕直接python+pydantic都能实现,这个在业务上是完全可控的, 如果你要做聊天助手,那么复杂的用langgraph 涉及到图路由的(web search kg rag等 a2a), 如果简单的直接用pydantic-ai 这样设计。
写在最后:也请佬友们注意身体
希望佬友们把时间交给生活,下班了就做一些有意义的事情,至少不要把生活都丢给编程,去跑跑步,走走路,骑骑车(其实这个是对我自己说的)。