前言
本文将介绍另一种本地知识库的部署方案: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 在线连接大模型:
然而,本文不采用此方式,而是将通过 Ollama 本地部署的 Qwen2 大模型配置到 MaxKB 中。
配置步骤:
添加模型,选择
Ollama
:配置模型。在模型添加界面,需要注意以下几点(如下图为修改界面,与添加界面相似):
模型名称和基础模型:确保与
ollama list
中显示的一致,否则可能导致重复下载或连接失败。- API 域名:由于 MaxKB 是通过 Docker 部署的,而 Ollama 是本机部署的,不在同一网络环境,因此需要填写
http://host.docker.internal:11434
。 - API Key:此处随便填写即可。
创建知识库
模型添加完成后,可以开始创建知识库。
这一过程相对简单,可以通过界面功能自行完成,因此不再赘述:
MaxKB 的一个优点是支持选择文件夹上传,这点在其他工具(如 AnythingLLM)中是无法实现的。不过一次上传的文件数量有限:
支持格式:TXT、Markdown、PDF、DOCX、HTML。每次最多上传 50 个文件,每个文件不超过 100MB。若使用【高级分段】,建议在上传前规范文件的分段标识。
创建应用
知识库创建完毕后,就可以创建应用并进行问答了:
在创建应用时,除了要为应用添加知识库外,还需要进行参数设置:
由于我的知识库数据量较小,因此选择了第二项设置:
设置完成后,点击“演示”按钮即可:
问答效果展示
如下图所示,问答功能的效果展示:
此处的不足之处在于未能同时展示引文,更不用说引文的预览了。然而,这项功能实际上是企业应用中的刚需。
嵌入第三方应用
嵌入第三方应用是常见需求,例如通过 iframe 或 JavaScript 代码的形式将问答系统嵌入到现有系统中。我们常见的某些网站右下角的浮窗就是这种形式。在 MaxKB 中,可以通过点击应用的“概览”页面中的“嵌入第三方”来实现此功能:
之后,只需将生成的代码集成到其他应用中即可:
思考
学习新知识的最佳方式就是直接应用它。即使你对 RAG 技术并不了解,通过实践搭建几个能够实际运行的应用,你会逐渐掌握架构中的结构和术语。
由于笔记本的配置有限,如果将所有内容部署在配置有高性能显卡的服务器上,那么完全可以满足企业级应用的需求,企业也可以直接完成私有化部署并开始应用。