前言
本文我们介绍另外一种部署本地知识库的方案:
Ollama + MaxKB
相对来说,容易安装且功能较完善,30 分钟内即可上线基于本地大模型的知识库问答系统,并嵌入到第三方业务系统中。
缺点是如果你的电脑配置不高,问题回答响应时间较长。
下图为 MaxKB 的产品架构:
实现原理上,仍然是应用了 RAG 流程:
安装 MaxKB
首先我们通过 Docker 安装 MaxKB
docker run -d –name=maxkb -p 8080:8080 -v ~/.maxkb:/var/lib/postgresql/data cr2.fit2cloud.com/1panel/maxkb注意这里镜像源是 china mainland,走代理的镜像会下载失败。
安装成功后访问:http://localhost:8080/ 登录,初始账号为:
用户名: admin 密码: MaxKB@123..进入系统后是这样的:
配置模型
接下来我们进行最重要的模型配置
可以看到有许多模型的供应商,这里你可以通过 API key 在线去连接大模型
API key 不同的模型厂商有不同的申请地址,这种方式不是本文采用的方式,本文我们将把通过 Ollama 本地部署的 Qwen2 大模型配置到 MaxKB
所以,第一步我们添加模型选择 Ollama
第二步配置模型,在模型添加界面有几个点要注意(下图是修改界面,和添加界面差不多)
模型名称和基础模型一定要和你在 ollama list 中显示的一样,不然可能会导致没有必要的重复下载和连接失败API 域名,因为 MaxKB 是 Docker 部署的,Ollama 是本机部署的,不在一个网络环境,所以要填 :http://host.docker.internal:11434API Key 随便写什么都行创建知识库
模型添加完成,就可以创建知识库了。
这个比较简单,通过界面功能自己就能搞定,我就不多说了
这里比较好的是,MaxKB 支持选择文件夹,这一点 AnythingLLM 就不行,不过一次上传文件数量有限:
“
支持格式:TXT、Markdown、PDF、DOCX、HTML 每次最多上传50个文件,每个文件不超过 100MB 若使用【高级分段】建议上传前规范文件的分段标识
创建应用
知识库创建完,就可以创建应用进行问答了
这里注意除了要为应用添加知识库外,还要进行一下参数设置
我选择的是第二项,因为我的知识库数据量较小
设置完成后点击演示
问答效果展示
这里不太好的是没有同时展示引文,更不用说引文的预览了,实际上这个功能基本上是企业应用上的 刚需
嵌入第三方应用
嵌入三方应用的需求也是比较常见的,比如你可以通过 iframe 或者 js 代码的形式嵌入到你现有的系统中,我们经常看到一些网站右下角的浮窗就是这种形式,在 MaxKB 中支持嵌入三方应用,需要在应用的 “概览” 中点击 “嵌入第三方”
剩下的你只需要把代码集成到你的其他应用中就可以了
思考
学习新知识,最好的方式就是直接去应用它,你可能从来都不知道什么是 RAG,但对相关知识有个大概了解后,通过实践,亲自搭建几个可以 run 起来的应用,那些架构里的结构、名词,逐渐全部都能对应得上了。
我笔记本的配置有限,如果所有的东西都部署在配置有性能强较的显卡的服务器上,那么就可以满足企业级应用的需求了,企业可以直接完成私有化部署并开始应用。