解密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 替换为自己的数据库地址,格式如下:

"postgresql://<user>:<password>@<host>:<port>/<database>"

示例(已脱敏):

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

点击确定,启动服务。



系统提示词配置

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

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

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

你是数据库助手,以下是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知识库痛点与优化 点击阅读
👉 数据库接入大模型实战 点击阅读

posted @ 2025-05-06 10:50  BNTang  阅读(1704)  评论(3)    收藏  举报