知识库问答系统MaxKB
趁热打铁,我们再试试另一个知识库系统·。本文会用到 kimi-free-api
和 One 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 | # 查看端口占用 |
本地端口 | 容器端口 |
---|---|
8837 |
8080 |
默认对外暴露了 2
个端口
其中
5432
是postgresql
数据库的端口,可以删了8080
是web
的访问端口
命令行安装
如果你熟悉命令行,可能用 docker cli
更快捷
1 | # 新建文件夹 maxkb 和 子目录 |
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
1 | version: '3' |
然后执行下面的命令
1 | # 新建文件夹 maxkb 和 子目录 |
运行
在浏览器中输入 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