知识库问答系统MaxKB

趁热打铁,我们再试试另一个知识库系统·。本文会用到 kimi-free-apiOne API ,还不了解的可以先去看看

文章传送门:

什么是 MaxKB ?

MaxKB 是一款基于 LLM 大语言模型的知识库问答系统。MaxKB = Max Knowledge Base,旨在成为企业的最强大脑。

软件特性

  • 开箱即用:支持直接上传文档、自动爬取在线文档,支持文本自动拆分、向量化,智能问答交互体验好;
  • 无缝嵌入:支持零编码快速嵌入到第三方业务系统;
  • 多模型支持:支持对接主流的大模型,包括本地私有大模型(如 Llama 2)、Azure OpenAI 和百度千帆大模型等。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 maxkb ,选择第一个 1panel/maxkb,版本选择 latest

本文写作时(3月26日), latest 版本对应为 v0.9.1

不过这个版本支持支持三种模型

镜像大概有 4G

再次折腾时(4月19日), latest 版本对应为 v1.0.3

而现在的版本已经支持六种模型了

镜像反而小了,看来做了不少优化

docker 文件夹中,创建一个新文件夹 maxkb,并在其中建一个子文件夹 data

文件夹 装载路径 说明
docker/maxkb/data /var/lib/postgresql/data 存放数据库文件等

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
8837 8080

默认对外暴露了 2 个端口

其中

  • 5432postgresql 数据库的端口,可以删了
  • 8080web 的访问端口

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
# 新建文件夹 maxkb 和 子目录
mkdir -p /volume1/docker/maxkb/data

# 进入 maxkb 目录
cd /volume1/docker/maxkb

# 运行容器
docker run -d \
--restart unless-stopped \
--name maxkb \
-p 8837:8080 \
-v $(pwd)/data:/var/lib/postgresql/data \
1panel/maxkb

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
version: '3'

services:
maxkb:
image: 1panel/maxkb
container_name: maxkb
restart: unless-stopped
ports:
- 8837:8080
volumes:
- ./data:/var/lib/postgresql/data

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 maxkb 和 子目录
mkdir -p /volume1/docker/maxkb/data

# 进入 maxkb 目录
cd /volume1/docker/maxkb

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:8837 就能看到登录界面

系统账号

  • 用户名:admin
  • 密 码: MaxKB@123..

登录成功后

新建模型

系统设置 –> 模型设置 –> 添加模型

老苏选择了 OpenAI,这样之前安装的各种 API 服务都是可用的

  • 模型名称:kimi
  • 模型类型:大语言模型
  • 基础模型:kimi,必须对应 One API 渠道中的模型名称

  • API 域名:http://192.168.0.197:3033/v1,这是 One API 的地址 + /v1
  • API Key:sk-bn6M52bOfdxYB3n2Ee717eA2C66b45318f1c95E4D9553d94,这是 One API 的令牌

添加成功后

新建知识库

知识库 –> 创建知识库

  • 名称:根据需要设置,这里用了文档的名称
  • 描述:根据需要设置,还是用了文档的名称
  • 类型:本地文件,所以选择了 通用型
  • 文档:上传文档

默认是 智能分段

创建成功

在文档中可以查看

查看段落

创建应用

应用 –> 创建应用

进入设置界面

  • 应用名称:根据需要设置,例如:智能客服
  • 应用描述:
  • AI 模型:下根据需要设置拉选择前面设置的模型 kimi

  • 多轮对话:启用
  • 关联知识库:添加 –> 勾选之前创建的知识库

  • 问题优化:启用

创建成功后

点播放按钮进入演示模式

提个第一个问题,但奇怪的是,跟知识库中的文档没有任何关联

第二个问题还是没有关联

问题分析及解决

FastGPT 相比,LLM 模型是一样的,有区别的是 向量模型,但在 MaxKB 中未找到相关的设置

既然自动不行,就手动吧,先创建一个问题,然后关联分段

先查了下文档,有多处出现过 创建会议

进入关联分段

先搜索,然后选择分段。将搜出来的 3 个都做了关联

问题页会有相应的显示

回到聊天界面,再次提问

接口及集成

在浏览器中输入 http://群晖IP:8837/doc 就能看 MaxKB 的接口文档

也能很容易的嵌入第三方应用

1Panel-dev/MaxKB: 💬 基于 LLM 大语言模型的知识库问答系统,1Panel 官方出品。开箱即用,支持快速嵌入到第三方业务系统。
地址:https://github.com/1Panel-dev/MaxKB

操作教程丨MaxKB+Ollama:快速构建基于大语言模型的本地知识库问答系统 - 技术博客 – FIT2CLOUD 飞致云
地址:https://blog.fit2cloud.com/?p=3fc407b2-1962-4196-b5b8-c7d27684b446