AI测试 AI 本地知识库创建探讨

royzou · 2025年07月29日 · 最后由 sir 回复于 2025年07月29日 · 1905 次阅读

老板最近分了任务,想要我研究 AI 本地知识库的落地可行性
目前公司有部署到本地的 chat,embedding 和 rerank 模型,而且公司大部分的文件均为 pdf 格式,且 pdf 文件内容格式不太统一,大部分为金融产品介绍文件
我本地 docker 部署了 RAGFlow,使用了其自带的 General 分块方法,发现分成的文本块效果不太好,而且检索成功率不够高。
看了下 ragflow 自带的分块效果不太好,而且我一开始也没做文本数据清洗
结合网上提供的分块策略,配合 ds 生成代码,先将 pdf 杂乱数据清洗,然后再分块处理后生成 markdown 文件,再传到 ragflow,感觉效果也不算特别好
所以在这想问下大家:
1.市面上有比较好的知识库解决方案吗,开源或者付费的都可以
2.文本分块有比较成熟的解决方案吗
欢迎大家探讨
谢谢

共收到 5 条回复 时间 点赞
  1. 全部 to markdown 是比较好的。

  2. 感觉效果也不算特别好,怎么定义特别好?具体是什么问题得具体分析的。

恰巧做过类似的东西,我从开发的角度给你分析一下,其实传统 RAG 的链路是挺长的,一般会包括数据清洗/切片/向量化/检索/重排/组装 prompt,影响最后效果的不仅仅是清洗/切片,不过清洗/切片的最终效果你也可以在相关的向量数据库里检索到,这也是最方便根据结果调整的。

另外我建议你根据结果来反推过程,比如输入原文一摸一样的内容是否可以检索到?检索不到则考虑是否需要使用 BM25 这种算法进行初筛 增加调整混合检索的权重比例。 比如查到了片段 1,但关联的上下文没有检索到则考虑是否有 overlap 兄弟节点是否召回 rank 数量是否太小等等。。。

如果不考虑成本可以做 LLM Native, 类似 DeepResearch 全部让 LLM 去处理,评分/排序/总结 可以参考前段时间 OpenAI 发的相关 RAG AI Native 的文章。

恒温 回复

第二点效果不太好指的是我本地代码先将 pdf 移除空白行,然后基于 token 大小去分块,块与块之间有分割符号,最后生成 markdown 然后上传到 ragflow 去分块,ragflow 分块选的是 general,分隔符也选好了,最后我看了下 ragflow 分割的效果和我想要的预期不太一致.不知我上述的流程是否有问题

没用过 ragflow,看了下介绍,general 是通用切片,我看你已经处理好了 markdown,而且自己设置了 &&& 分隔符,是不是可以试试看 手动切片?

dify 可以看一下

需要 登录 後方可回應,如果你還沒有帳號按這裡 注册