个人知识库,我现在只做到了可用的索引
先把站内资料整理成能浏览、能搜索的索引,再决定是否真的需要向量检索和问答。
“个人知识库”很容易被说成一个完整系统:资料自动导入、向量检索、AI 回答,还能准确引用来源。这个网站目前没有做到这些。现在上线的是一个知识索引页面,用来把已有文章按主题整理,并提供通往原文的入口。
这听起来没有 RAG 那么新鲜,但它先解决了一个更基础的问题:我到底有哪些内容,它们是否值得继续整理。
先把来源弄清楚
站内最确定的资料是 content/posts 里的 MDX 文章。它们有标题、日期、分类、标签和正文,已经具备基本结构。搜索索引也可以从这些公开内容生成,不需要先引入另一个数据库。
知识页面不应该摆几张没有去向的卡片。每个主题都要能回到真实文章,数量也应从现有内容计算或认真维护。暂时没有资料的主题,可以明确写成计划,而不是用演示数据填满。
为什么还没有急着接向量数据库
向量检索适合处理“用不同说法表达相近意思”的查询,但它也会带来一整条新链路:文档解析、分块、Embedding、索引更新、召回、重排和来源引用。任何一环做得含糊,最后的回答都可能很流畅,却找错了材料。
如果以后继续做,我会先用一小批公开文章验证下面几件事:
- 修改或删除文章后,索引能否同步更新;
- 检索结果能否稳定指向具体原文;
- 没有相关资料时,系统能否直接说“没有找到”;
- 私密和草稿内容是否始终不会进入公开索引;
- 传统关键词搜索是否已经足够解决问题。
只有这些问题有了答案,才需要比较 Embedding 模型或 Qdrant、pgvector 等存储方案。现在仓库里没有一个完成的 Qdrant + BGE 服务,我也不想把设计草图写成上线经验。
AI 问答应该是最后一层
对个人资料而言,能找到来源比生成一段完整回答更重要。理想流程应该先展示命中的文章和片段,再允许模型基于这些内容做归纳,并把引用一起返回。
当检索不到可靠资料时,回答就应该停下来。给模型一句“请不要编造”并不能真正约束它,程序还需要检查召回分数、来源数量和内容权限。
所以这个功能目前的状态很明确:知识索引已经可以作为站内导航使用,向量检索和知识问答仍是原型方向。把“还没做完”写清楚,反而方便以后判断它是否真的变得更好用。