文章目录
MaxKB = Max Knowledge Base
,是一款基于大语言模型和 RAG 的开源知识库问答系统,广泛应用于智能客服、企业内部知识库、学术研究与教育等场景。作为一款专注于知识库问答场景的软件产品,MaxKB 能够为企业的智能化进程注入新的动力,助力企业实现“提质增效”的目标。
本文使用MaxKB搭建本地企业级知识库,由于MaxKB使用docker
部署,本例中使用vmware workstation
搭建了基于ubuntu的虚拟机。大模型方面使用ollama本地部署了DeepSeek-r1:7b模型。
一、准备linux环境
1、安装ubuntu serve
根据MaxKB官方建议,我们的虚拟机配置设置如下:
- 操作系统:Ubuntu 22.04
- CPU/内存:4C
- 内存:8G
- 磁盘空间:60GB
由于我们模拟的是企业内部服务器环境,因此这里我们选择在虚拟机中安装ubuntu server
,下载的是ubuntu-22.04.5-live-server-amd64.iso
关于ubuntu的安装不是本文的重点,因此不详细讲述,如有需要请参考:b站视频:5分钟安装Ubuntu Server
2、连接虚拟机
本文中使用Xshell和Xftp工具,分别用于远程连接和文件传输,具体使用方法可参见:linux基础03:如何远程链接虚拟机里的linux系统
二、安装docker
1、更新包索引:
sudo apt-get update
2、安装依赖包:
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
3、添加 Docker 官方 GPG 密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
4、添加 Docker 仓库:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
5、更新包索引并安装 Docker:
sudo apt-get update
sudo apt-get install docker-ce
6、启动并启用 Docker:
sudo systemctl start docker
sudo systemctl enable docker
7、验证安装:
sudo docker --version
注意:在安装docker的时候,可能遇到国外镜像源不可用的情况,需要通过修改Docker 配置文件(如
/etc/docker/daemon.json
)添加国内镜像源,如:阿里云:https://.mirror.aliyuncs.com;网易云:https://hub-mirror.c.163.com;腾讯云:https://mirror.ccs.tencentyun.com等。如果环境是企业内网,请填写内网私有docker镜像仓库。
三、安装MaxKB
MaxKB官方给出两种部署方式,一种是离线部署,一种在线部署。本例中采用离线部署。打开 飞致云开源社区 MaxKB 社区版下载 页面下载最新版本安装包,并上传至部署服务器(此处是之前安装好的ubantu虚拟机)。
1、解压安装包
使用Xshell通过ssh协议登录到部署服务器, 对安装包进行解压:
tar -zxvf maxkb-v1.2.0-offline.tar.gz
2、安装配置(可选)
MaxKB 安装目录、服务运行端口、数据库配置等信息可在安装包解压后中的 install.conf 文件进行配置。
## 安装目录
MAXKB_BASE=/opt
## Service 端口
MAXKB_PORT=8080
## docker 网段设置
MAXKB_DOCKER_SUBNET=172.19.0.0/16
# 数据库配置
## 是否使用外部数据库
MAXKB_EXTERNAL_PGSQL=false
## 数据库地址
MAXKB_PGSQL_HOST=pgsql
## 数据库端口
MAXKB_PGSQL_PORT=5432
## 数据库库名
MAXKB_PGSQL_DB=maxkb
## 数据库用户名
MAXKB_PGSQL_USER=root
## 数据库密码
MAXKB_PGSQL_PASSWORD=Password123@postgres
注意:首次安装之前可在 install.conf文件中的修改参数,安装时则根据修改后的参数执行安装。完成安装后如需再次修改配置参数,则需要在 ${MAXKB_BASE}/maxkb/.env(默认是 /opt/maxkb/.env)文件中进行修改,并且在修改完后需执行 mkctl reload
命令重新加载配置文件。
3、执行安装脚本
# 进入安装包解压缩后目录
cd maxkb-v1.2.0-offline
# 执行安装命令
bash install.sh
4、登录访问
待所有容器状态显示为healthy后,即可通过浏览器访问地址 http://目标服务器 IP 地址:8080
,并使用默认的管理员用户和密码登录 MaxKB。
用户名:admin
默认密码:MaxKB@123..
注意:由于我们的MaxKB部署在虚拟机里面,所以这里的目标服务器IP是分配给这台虚拟机的IP,即我们使用SSH连接的IP。
二、连接本地模型
1、安装ollama并部署模型
如何在本地安装ollama和部署DeepSeek模型在我的另外一篇博客中有讲解,详见:DeepSeek本地化和云化部署
2、修改环境变量
由于 Ollama 默认监听 127.0.0.1
(仅限本地访问),而 Docker 容器默认与宿主机网络隔离,导致容器无法直接访问宿主机上的 ollama 服务,因此我们需要修改Ollama 监听地址。通过添加环境变量,设置OLLAMA_HOST
,使其监听所有网络接口(0.0.0.0
),允许容器通过宿主机的真实 IP 访问。
未设置环境变量(默认监听 127.0.0.1)
netstat -ano | findstr ":11434"
TCP 127.0.0.1:11434 0.0.0.0:0 LISTENING <PID>
设置完成后,确认 Ollama 服务状态,如果变为监听所有IP,则表示成功。(可能需要重启或注销电脑)
netstat -ano | findstr ":11434"
TCP 0.0.0.0:11434 0.0.0.0:0 LISTENING <PID>
TCP [::]:11434 [::]:0 LISTENING <PID>
3、验证是否可以访问宿主机
进入容器,使用如下命令,如果返回ollama is running
,则表示容器直接通过IP访问宿主机。
# 进入容器内部
docker exec -it maxkb /bin/bash
# 测试网络
curl http://192.168.217.1:11434
3、设置模型
在MaxKB的系统设置里面添加模型,模型厂商选择ollama。
需要注意以下几点:
- 模型名称需要和ollama的模型名称一致,可在本地powershell使用
ollama list
命令查看。 - API URL:由于我们设置了环境变量,这里可以直接使用宿主机IP访问。
- API Key:ollama默认无API Key,这里可以随便填写。
4、测试使用
新建一个应用,在设置中选择刚才添加的模型,进行对话:
总结
本文详细描述了在 Ubuntu 虚拟机中部署 MaxKB 并连接本地 Ollama 模型的完整流程。
常见问题
问题现象 | 解决方案 |
---|---|
MaxKB 容器无法访问 Ollama | 检查 Ollama 是否监听 0.0.0.0:11434 ,防火墙是否放行。 |
安装 Docker 时下载速度慢 | 配置国内镜像源(如阿里云、腾讯云)。 |
MaxKB 登录后无响应 | 检查容器状态是否全部为 healthy ,数据库配置是否正确。 |