很多人对AI知识库的想象是这样的,他们以为只需将所有资料一股脑地拖进AI客户端,比如 Cherry Studio 内。
图片
这样,AI就会认真阅读所有内容,并自动生成完美结论。
然而,实际体验后,许多人发现AI知识库的效果远没有想象中理想,经常遇到各种奇怪的问题。
本文将从知识库的原理出发,探讨AI知识库的技术局限。同时,我会介绍一些进阶方案,例如引入重排序模型、数据库(mcp server),以及使用超大上下文模型等方法。
目前,大模型知识库最常见的技术是RAG(检索增强生成)。
当用户将资料加入知识库时,程序会先将其拆分为多个文本块。
图片
随后,使用嵌入模型将这些文本块向量化。
向量化指将拆分后的文本转化为一组超长的数字序列。
图片
以我自己的知识库为例,这里用到的嵌入模型输出的是1024维:
图片
也就是说,每个文本块都被转换成一个由1024个数值组成的向量:
图片
之后,程序会将向量及其对应文本存储到向量数据库中。
图片
接下来,当用户发起提问时,问题本身也会被向量化,转化为一个1024维向量。
图片
然后,系统会将用户问题的向量与数据库中的所有向量进行相似度计算,这一过程完全基于向量的数学运算。
图片
最终,知识库会选出与问题最相似的几个原文片段,将它们与用户的问题一同发送给大模型,由大模型进行归纳总结。
图片
从这个流程可以看到,在RAG架构中,大模型主要负责归纳总结,答复质量在很大程度上取决于文本块的检索精度。事实上,RAG系统普遍存在切片粗暴、检索不精准、缺乏整体视角等典型问题。