解密AI知识库

许多人对AI知识库的理解是:只需将所有资料拖入AI客户端(如Cherry Studio),AI便会自动阅读并生成完美结论。

但实际体验后,大家发现AI知识库效果远不如预期,经常出现各种问题。

技术原理与局限

本文将从原理出发,分析AI知识库的技术局限,并介绍进阶方案,如重排序模型、数据库(MCP server)和超长上下文模型等。

目前主流的大模型知识库采用RAG(检索增强生成)技术。

用户添加资料时,系统会先将其拆分为多个文本块。

随后,嵌入模型将这些文本块向量化,即将文本转为一组超长数字序列。

以我的知识库为例,嵌入模型输出1024维向量:

每个文本块都被转为1024个数值组成的向量:

系统将向量及对应文本存入向量数据库。

用户提问时,问题同样被向量化为1024维向量。

系统将问题向量与数据库中所有向量进行相似度计算,完全基于数学运算。

最终,知识库选出最相似的原文片段,与用户问题一同发送给大模型,由其归纳总结。

可见,在RAG架构中,大模型主要负责归纳总结,答复质量很大程度取决于检索精度。RAG系统普遍存在分块粗糙、检索不准、缺乏全局视角等问题。

Cherry Studio安装与配置

前往Cherry Studio官网下载并安装软件:Cherry Studio


安装过程简单,按提示操作即可。

安装后,打开软件,点击左下角"设置"-"模型服务"。

本文以硅基流动提供的免费嵌入模型为例。找到"硅基流动",点击获取密钥。若无账号可先注册。


欢迎在评论区互助分享邀请码。

点击左侧"API密钥",新建密钥(如"程序员NEO"),复制生成的密钥。



将密钥填入Cherry Studio。

添加嵌入模型:点击"模型"右侧添加按钮。

回到硅基流动"模型广场",筛选"类型"为"嵌入",选择"bge-m3(免费)",复制模型名称。



回到Cherry Studio,填入模型名,点击"添加嵌入模型"完成配置。

知识库配置与文件添加

配置知识库:点击左侧"知识库"-"添加",填写名称,选择刚添加的嵌入模型,点击确定。


添加文件:点击"添加文件",选择文档(如《三国演义》),打开后自动处理。



分片已存入向量数据库。

根据官方文档,目前使用turso的libSQL数据库。

在知识库页面右上角点击"搜索知识库"可检索分片内容。

如搜索"刘备",系统会基于向量匹配查找相关段落,每段约300字。

Cherry Studio采用long chain递归文本分割器。

RAG知识库的缺陷与改进

分块方式简单

这种分块方式基本按段落分块,段落过长则按固定字数切分,常导致句子被截断。

以刚检索到的"刘备"为例:

可见":"前内容被截断,结尾"虽是"也未说完。由于分块上限为300字,前后句被强行截断。

这暴露了RAG知识库的缺陷:分块粗糙,AI难以理解上下文,导致回答不精准。

虽然也有基于语义分析的分块方法,但目前大多不成熟,效果甚至不如简单分割。

检索不精准

RAG的另一个问题是检索不准。例如搜索"曹操兵器",想找倚天剑的信息。

系统仅基于数字相似度匹配,无法真正理解文本含义,筛选片段可能相关也可能无关,难以精准匹配。


匹配结果往往不是所需信息,这是RAG系统的痛点之一。

较好的改进方案是引入重排序模型。先用向量数据库初步检索,再用重排序模型做语义分析,根据相关性重新排序。


以"曹操兵器"为例,添加重排序模型后,效果明显提升。进入模型服务,找到硅基流动,添加重排序模型。



复制免费重排序模型名称,回到Cherry Studio添加。


在知识库设置中添加重排序模型,点击确定。


再次搜索"曹操兵器",倚天剑信息排到第二位,分数78%。重排序模型显著提升了检索精度。

缺乏全局视角

第三个痛点是缺乏全局视角。以AI生成的300条学生统计数据为例:

如需统计分析(如最大最小值),RAG难以胜任。向量数据库只能匹配文本块,无法整体分析。

将Excel文件添加到知识库:

在聊天界面(使用DeepSeek,硅基流动提供),开启知识库。

提问"共有多少学生",AI仅获取六个片段。

实际有300个学生。

AI却答120个。

因此,结构化或统计性问题建议用关系型数据库。现在可通过MCP让AI操作数据库,效果更佳。

数据库接入与配置

已将学生数据导入PostgreSQL数据库。

数据准备与导入

借助ChatGPT将Excel数据转为SQL语句,高效导入数据库。以下为效果截图,敏感信息已脱敏。


Cherry Studio环境配置

在Cherry Studio配置MCP server,使AI可访问数据库。进入设置,添加MCP服务器。

如出现红色感叹号,点击查看详情,按提示安装UV和Bun依赖。



安装完成后,编辑MCP配置。


数据库接入MCP Server

在MCP配置页面查找PostgreSQL MCP。可参考官方GitHub:PostgreSQL MCP

复制官方配置内容,粘贴到Cherry Studio。


postgresql://localhost/mydb 替换为自己的数据库地址,格式如下:

json 复制代码
"postgresql://<user>:<password>@<host>:<port>/<database>"

示例(已脱敏):

json 复制代码
postgresql://db_user:[email protected]:5432/dbname?sslmode=require
  • db_user:数据库用户名
  • db_password:密码
  • db-host.example.com:主机地址
  • 5432:端口(默认5432)
  • dbname:数据库名
  • sslmode=require:强制SSL加密

点击确定,启动服务。



系统提示词配置

回到聊天界面(需选择支持函数调用的模型,模型名后有扳手图标),选择刚配置的Postgres MCP服务器。

编辑系统提示词,先提供数据库表结构信息。

扩展两张表:课程表和选课成绩表。

json 复制代码
你是数据库助手,以下是PostgreSQL表结构,请结合表结构和查询结果回答用户问题。

CREATE TABLE students (
    id SERIAL PRIMARY KEY,
    name VARCHAR(100),
    age INTEGER,
    phone VARCHAR(20),
    gender VARCHAR(10)
);

CREATE TABLE courses (
    course_id INTEGER PRIMARY KEY,
    course_name VARCHAR(100)
);

CREATE TABLE enrollments (
    id SERIAL PRIMARY KEY,
    student_id INTEGER REFERENCES students(id),
    course_id INTEGER REFERENCES courses(course_id),
    score INTEGER
);

效果验证

保存后测试,如"学生总数是多少"。

AI可成功调用MCP server,通过SQL查询返回结果。需选择支持工具调用的模型。

再问"年龄最大的学生是谁",同样查询成功。

测试复杂问题,如"哪些学生选修了数学课,分数最高前三名"。

AI可联合三表查询,准确返回结果。通过MCP server对接数据库,结构化数据检索效果远超普通知识库。

超长上下文模型的应用

此外,还可利用支持超长上下文的模型,将资料直接拖入对话框。

模型窗口进化与测试

如上图,近两年模型上下文窗口大幅提升。例如Gemini 2.0 Pro已支持2000万token,可容纳四大名著。以下以Gemini为例测试。

API密钥获取与模型配置

访问谷歌AI Studio(需魔法上网)。

右上角"Get API Key",点击创建API密钥。




复制API密钥。

回到Cherry Studio,设置模型服务商为Gemini,填写API密钥。

添加模型,点击"添加",模型ID可在AI Studio选择。以Gemini 2.0 Flash为例,支持100万token上下文,且有免费额度。

复制Gemini 2.0 Flash模型ID。

回到Cherry Studio,填写模型ID并添加。

切换聊天模型为Gemini 2.0 Flash。

清空助手默认Prompt。

知识库检索实战

测试知识库能力。以全本《三国演义》为例,用VSCode将张飞武器改为"丈九棒棒糖",保存。

将全本《三国演义》拖入对话框,提问:"张飞造了什么兵器,请找到原文位置并据此回答。"

AI成功检索到答案,第一回中张飞造"丈九棒棒糖"。本次任务消耗551266 token。

整个《三国演义》仅用了一半上下文窗口。利用Gemini超长上下文进行知识库检索,效率极高。

总结与展望

AI知识库常被称为"demo五分钟,上线一年"。目前AI知识库仍是复杂系统工程,无通用银弹,项目落地需多工具协作。当前效果较好的方案是自适应RAG,根据查询类型自动选择检索策略,结合多种方式提升精度。本文到此结束.

推荐阅读:

主题 链接
👉 零成本部署:5分钟创建免费PostgreSQL数据库 点击阅读
👉 AI知识库的真相 点击阅读
👉 Cherry Studio 本地知识库搭建教程 点击阅读
👉 RAG知识库痛点与优化 点击阅读
👉 数据库接入大模型实战 点击阅读