Ollama+MaxKB 部署本地知识库

1,375 阅读3分钟

Ollama+MaxKB 部署本地知识库

本文我们介绍另外一种部署本地知识库的方案:

Ollama + MaxKB

相对来说,容易安装且功能较完善,30 分钟内即可上线基于本地大模型的知识库问答系统,并嵌入到第三方业务系统中。

缺点是如果你的电脑配置不高,问题回答响应时间较长。

下图为 MaxKB 的产品架构:

image-20240809111438499

实现原理上,仍然是应用了 RAG 流程:

image-20240809111503437

安装 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

图片

第二步配置模型,在模型添加界面有几个点要注意(下图是修改界面,和添加界面差不多)

图片

  1. 模型名称和基础模型一定要和你在 ollama list 中显示的一样,不然可能会导致没有必要的重复下载和连接失败

image-20240809111724834

  1. API 域名,因为 MaxKB 是 Docker 部署的,Ollama 是本机部署的,不在一个网络环境,所以要填 :host.docker.internal:11434
  2. API Key 随便写什么都行

创建知识库

模型添加完成,就可以创建知识库了。

这个比较简单,通过界面功能自己就能搞定,我就不多说了

image-20240809111806342

这里比较好的是,MaxKB 支持选择文件夹,这一点 AnythingLLM 就不行,不过一次上传文件数量有限:

图片

支持格式:TXT、Markdown、PDF、DOCX、HTML 每次最多上传50个文件,每个文件不超过 100MB 若使用【高级分段】建议上传前规范文件的分段标识

创建应用

知识库创建完,就可以创建应用进行问答了

图片

这里注意除了要为应用添加知识库外,还要进行一下参数设置

图片

我选择的是第二项,因为我的知识库数据量较小

图片

设置完成后点击演示

图片

问答效果展示

图片

这里不太好的是没有同时展示引文,更不用说引文的预览了,实际上这个功能基本上是企业应用上的 刚需

嵌入第三方应用

嵌入三方应用的需求也是比较常见的,比如你可以通过 iframe 或者 js 代码的形式嵌入到你现有的系统中,我们经常看到一些网站右下角的浮窗就是这种形式,在 MaxKB 中支持嵌入三方应用,需要在应用的 “概览” 中点击 “嵌入第三方”

图片

剩下的你只需要把代码集成到你的其他应用中就可以了

图片

思考

学习新知识,最好的方式就是直接去应用它,你可能从来都不知道什么是 RAG,但对相关知识有个大概了解后,通过实践,亲自搭建几个可以 run 起来的应用,那些架构里的结构、名词,逐渐全部都能对应得上了。

我笔记本的配置有限,如果所有的东西都部署在配置有性能强较的显卡的服务器上,那么就可以满足企业级应用的需求了,企业可以直接完成私有化部署并开始应用