跳转到内容

做 AI 本地优先知识库三个月后,我发现 RAG 没那么简单

约 5 分钟阅读发布于 2026/5/29

上周基本都在更新我的 AI 本地优先知识库。

说是更新,其实更像是把一个放了一个多月的项目重新捡起来,拍掉灰,再试着往前推几步。

从发布到现在,差不多快三个月了。

项目地址是:veyliss/ai-localbase

Star 到了 300+。这个数字说大不大,说小也不小。对一个个人项目来说,能被三百多人点一下星,已经说明它至少击中过一小部分人的需求。

但我也很清楚,中间有一个多月没怎么更新,所以 Star 涨得慢下来也很正常。

开源项目有时候像一条很细的火线。你持续更新,它就偶尔亮一下;你停下来,它就慢慢变暗。不是项目突然没价值了,而是互联网上每天都有太多新的东西流过去。

重新看这个项目的时候,第一感觉是:

它还是一个 Demo。

不是不能用,也不是只有一个空壳。

它已经能跑起来,方向也比较明确:本地优先、知识库、AI 问答、RAG、个人数据掌控。

但离“一个成熟产品”还有距离。

Bug 还不少,体验也不算很好。有些流程能走通,但不够顺。有些功能看起来有了,但真的连续使用时,边角问题会一个个冒出来。

这也是个人项目很真实的一面。

发出来的时候,更多是在表达一个想法:

我想做一个本地优先的 AI 知识库。

但真正要让别人舒服地用起来,靠一个想法远远不够。

这次回来更新,主要做了两件事:优化 UI,优化检索。

UI 的问题比较直观。一个工具能不能让人继续用下去,很多时候不是取决于它有没有某个大功能,而是打开之后顺不顺、清不清楚、有没有那种“我愿意继续点下去”的感觉。

检索就更核心了。一个知识库项目,如果检索不准,后面 AI 回答再漂亮也没有意义。

RAG 的链路里,LLM 往往是最显眼的部分,但真正影响回答质量的,很多时候是前面的检索。

这也是我这几天最明显的感受:

RAG 不是接一个模型,再塞一点文档,就自然变聪明。

真正做起来才发现,RAG 的难点不只在“调用大模型”。

模型只是最后一步。

前面还有一整套不太显眼、但很要命的链路:

  • 文档怎么解析。
  • 内容怎么切分。
  • 怎么向量化。
  • 怎么检索。
  • 怎么重排序。
  • 怎么拼上下文。
  • 怎么让答案有依据。

以前看 RAG 的概念图,会觉得它很清晰:

用户问题 -> 检索资料 -> 交给模型 -> 生成答案

但真正落到项目里,它就不是一条那么干净的线了。

文档内容可能很乱,切分可能切断语义,向量检索可能召回不准,模型可能忽略上下文,回答可能没有引用依据。这些问题不会在 Demo 截图里出现,但会在真实使用里一点点暴露。

也正因为这样,我越来越觉得 RAG 是一个工程问题,不只是一个 AI 概念。

这个项目一开始很强调本地优先。

我很喜欢这个方向。

知识库本来就带有很强的个人属性。笔记、文档、想法、项目资料,这些东西放在本地,用户自己掌控,会让人更安心。

所以最开始我很自然地选择了 Ollama。

本地模型、本地运行、本地数据,听起来非常完整。

但现实很快给了我一巴掌。

太慢了。

在普通机器上,本地模型的体验并不好。回复一次两次都很勉强,更不用说连续对话、长上下文、知识库检索之后再生成回答。

本地优先的理念是好的,但如果体验慢到让人不想继续用,那它就会从“安全感”变成“阻力”。

这件事让我重新思考一个问题:

本地优先是不是等于只能使用本地模型?

后来我觉得,不一定。本地优先更重要的是数据和控制权。用户的数据应该尽量保存在本地,知识库应该由用户自己掌控,项目不应该强绑定某个平台。

后面我加入了 API 接入能力。

这样项目不再只依赖 Ollama,也可以接入市面上很多模型。

这不是放弃本地优先,更像是给项目留出两个出口:

想要完全本地,可以走 Ollama。
想要更好体验,可以走 API。

我现在更愿意把它理解成:

数据本地优先,模型选择开放。

这个取舍比一开始更现实,也更接近一个工具真的要被使用时的样子。

这几天还有一个很强烈的感受:自己的知识储备还不太够。

以前以为做一个 AI 知识库,重点是把产品形态搭起来。现在发现,产品形态只是外壳。里面真正难的是检索、向量化、上下文组织和回答质量。

向量化这块尤其明显。Embedding 模型怎么选?中文效果怎么样?切片多大合适?什么时候只用向量检索,什么时候要结合关键词检索?要不要重排序?

这些问题都不是一句“接入向量数据库”就能解决的。它们需要实验,也需要积累。

我现在还在补这些东西。

所以,如果给这个项目现在的状态做一个描述,我会这样写:

方向是对的,但还不够好用。

它已经证明了一些事情:

  • 本地优先知识库是有需求的。
  • AI 问答和个人知识库结合是有吸引力的。
  • 但体验、速度、检索质量和稳定性都还需要继续打磨。

Star 300+ 当然让我开心。

但我也知道,Star 不是产品成熟的证明。

真正的证明是:有人能把它装起来,导入自己的资料,连续用几天,还愿意继续打开。

这比 Star 更难。

写到这里,感觉这不是一篇项目总结,更像是给自己留的一张便签。

提醒自己不要被概念骗得太轻松。

RAG 很热,本地优先也很好听,AI 知识库也很有想象空间。

但真正做起来,还是那些很具体的东西:

  • 一个按钮是否清楚。
  • 一次检索是否准确。
  • 一段回答是否有依据。
  • 一个模型是否太慢。
  • 一个新用户能不能顺利跑起来。

这些东西不酷,但它们决定项目能不能从 Demo 往前走。

项目现在还不成熟。

但至少,它还在往前。

这几天重新更新它的时候,我又找回了一点刚开始做它时的感觉:不是很确定,但挺想继续看看它能长成什么样。