主题:在 Centos7 环境部署 MaxKB 以及 Ollama 实现基于离线大模型的的小助手调用。
选择离线部署的原因:原计划是打算直接使用 1Panel 进行 MaxKB 和 Ollama 一键部署的,但是两者都会出现 Docker 远程拉取镜像超时的问题,于是选择了离线部署。
一、MaxKB 的离线部署
先下载对应的 MaxKB 离线安装包 :https://community.fit2cloud.com/#/products/maxkb/downloads
将安装包上传到机器上后 执行以下命令进行安装包的解压和安装
# 解压
tar -zxvf maxkb-v1.2.0-offline.tar.gz
# 进入安装包解压缩后目录
cd maxkb-v1.2.0-offline
# 执行安装命令即可
bash install.sh
参考网址 :https://maxkb.cn/docs/installation/offline_installtion/
ps 也可运行以下命令可以成功拉取镜像并运行容器
docker run -d --name=maxkb -p 8080:8080 -v ~/.maxkb:/var/lib/postgresql/data cr2.fit2cloud.com/1panel/maxkb
二、部署 Ollama
执行命令
curl -fsSL https://ollama.com/install.sh | sh
参考 : https://github.com/ollama/ollama (上面提供各类操作系统的安装指导)
执行成功后会出现以下图样:
其中红框显示的是当前部署的 Ollama 的 API 调用地址
可以执行一下命令查看 Ollama 当前的状态
#安装好后查看当前 Ollama 下拥有的模型(由于当前还没有拉取,所以目录为空)
[root@iZ7xvigag1tcx13yaa7cmhZ opt]# ollama list
NAME ID SIZE MODIFIED
#查看当前 Ollama 的版本
[root@iZ7xvigag1tcx13yaa7cmhZ opt]# ollama -v
Ollama version is 0.3.3
#Ollama 的运行状态
[root@iZ7xvigag1tcx13yaa7cmhZ opt]# systemctl status ollama
● ollama.service - Ollama Service
Loaded: loaded (/etc/systemd/system/ollama.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2024-08-04 01:02:47 CST; 36min ago
Main PID: 14453 (ollama)
Tasks: 10
Memory: 999.3M
最后将 Ollama 的 API 调用地址填写到MaxKB的配置 Ollama 模型 API 域名的位置

这里要特别注意:
如果直接填写上图中的 127.0.0.1 的路径,点击添加会出现 API 域名无效的提示,以下是当时遇到该问题的解决过程:
先验证当前 Ollama 的 API 是可以访问的
[root@iZ7xvigag1tcx13yaa7cmhZ opt]# curl http://127.0.0.1:11434/
Ollama is running
然后进入 /etc/systemd/system 目录 修改 ollama.service 文件
[root@iZ7xvigag1tcx13yaa7cmhZ opt]# cd /etc/systemd/system/
将其中的 Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
改为 Environment="OLLAMA_HOST=0.0.0.0"
修改其监听地址为 0.0.0.0
#重启加载配置文件及重启 Ollama
[root@iZ7xvigag1tcx13yaa7cmhZ system]# sudo systemctl daemon-reload
[root@iZ7xvigag1tcx13yaa7cmhZ system]# sudo systemctl restart ollama
#进入 MaxKB 的 Docker 容器中测试是否可以根据该地址访问到 Ollama
[root@iZ7xvigag1tcx13yaa7cmhZ system]# docker exec -it maxkb bash
root@f5be799b5776:/opt/maxkb/app# curl http://ip:11434/ (这里的 IP 是本机对应的ip地址,可以通过命令 ip addr 查询)
Ollama is runningroot@f5be799b5776:/opt/maxkb/app#
出现 Ollama is running 即可
然后将该地址配置到 API 域名上即可
解决方法参考:https://bbs.fit2cloud.com/t/topic/4165/20 (在 MaxKB 论坛中发现)
由于本次部署仅尝试整个部署流程,未配置独显,所以大部分独显的大模型是无法运行的。机器配置为 2C4G,有问题或者疑问欢迎一起讨论~