主题:在 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,有问题或者疑问欢迎一起讨论~

MaxKB+Ollama 离线部署的更多相关文章

  1. Cesium简介以及离线部署运行

    Cesium简介 cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎,一款开源3DGIS的js库.cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区 ...

  2. arcgis api for js入门开发系列一arcgis api离线部署

    在我的GIS之家QQ群里,很多都是arcgis api for js开发的新手,他们一般都是GIS专业的学生,或者从计算机专业刚刚转向来的giser,他们难免会遇到各种webgis开发的简单问题,由于 ...

  3. Node服务一键离线部署

    背景说明 项目测试通过,到了上线部署阶段.部署的机器安全限制比较严格,不允许访问外网.此外,没有对外网开放ssh服务,无法通过ssh远程操作. 针对上面提到的两条限制条件,通过下面方式解决: 无法访问 ...

  4. 微服务架构 - 离线部署k8s平台并部署测试实例

    一般在公司部署或者真实环境部署k8s平台,很有可能是内网环境,也即意味着是无法连接互联网的环境,这时就需要离线部署k8s平台.在此整理离线部署k8s的步骤,分享给大家,有什么不足之处,欢迎指正. 1. ...

  5. arcgis api 4.x for js 离线部署

    在我的GIS之家群里,经常遇到 webgis 开发新手们提问 arcgis api for js 如何本地离线部署,而不是直接调用在线的,因为在线模式依赖互联网以及网速环境因素,受到的限制影响比较大. ...

  6. CentOS6.9下离线部署Django项目

    最近项目服务器变动,研究了CentOS6.9下httpd2.4+django1.11.16+python3.6+PostgreSQL的部署,之前还有一个ubuntu16.04下的部署等以后整理好后再来 ...

  7. Cesium 之简介以及离线部署运行篇

    前言 cesium 官网的api文档介绍地址cesium官网api,里面详细的介绍 cesium 各个类的介绍,还有就是在线例子:cesium 官网在线例子,这个也是学习 cesium 的好素材. C ...

  8. 最简单的方式离线部署Python依赖包

    最简单的方式离线部署Python依赖包 SHOW ME CODE! 打包: $ tempdir=$(mktemp -d /tmp/wheelhouse-XXXXX) $ pip wheel -r re ...

  9. Arcgis api 离线部署

    Arcgis api 离线部署 修改 文件一(init.js)位置:arcgis_js_v317_api\arcgis_js_api\library\3.17\3.17\init.js 将[HOSTN ...

  10. linux离线部署redis及redis.conf详解

    一.离线部署redis 由于博主部署的虚拟机没有网络也没有gcc编译器,所以就寻找具备gcc编译器的编译环境把redis编译安装好,Copy Redis安装目录文件夹到目标虚拟机的目录下.copy时r ...

随机推荐

  1. 微信团队分享:来看看微信十年前的IM消息收发架构,你做到了吗

    本文由微信技术团队分享,原题"十年前的微信消息收发架构长啥样?",下文进行了排版和内容优化等. 1.引言 2023 年,微信及 WeChat 的 DAU(月活用户)达到 13.4 ...

  2. 记一次 .NET某汗液测试机系统 崩溃分析

    一:背景 1. 讲故事 上个月在社区写的文章比较少,一直关注的朋友应该知道那段时间被狗咬了以及一些琐事处理,所以手头上也攒了不少需要分享的案例,这段时间比较空闲,逐个给大 家做个分享吧,刚好年后为新版 ...

  3. c# 远程调用 / Remoting IpcChannel sample

    . 远程调用 1. 创建一个远程的可序列化的类,这个类可以在远程调用中用于传输来去,似乎是个公共的类: using System; using System.Collections.Generic; ...

  4. weixueyuan-Nginx编译及部署1

    https://www.weixueyuan.net/nginx/ Nginx是什么 Nginx(发音同"engine x")是一个高性能的反向代理和 Web 服务器软件,最初是由 ...

  5. Superset 稀奇古怪的bug

    1.filterbox 及 native filter 等组件里面,日期筛选器下拉框,显示的不是日期格式,而是时间戳格式,如: 解决方法: 修改superset\utils\core.py 里面的js ...

  6. VOLE+OKVS的PSI技术落地应用

    学习&转载文章:技术创新〡VOLE+OKVS的PSI技术落地应用 神谱科技基于VOLE+OKVS设计了两方PSI和多方PSI协议,并已应用于Seceum系列隐私计算产品中. Seceum并无开 ...

  7. 「CF1101F」Trucks and Cities

    题意描述 有 \(N\) 座城市,第 \(i\) 座坐标为 \(a_i\) ,有 \(M\) 辆卡车,第 \(i\) 辆卡车要从城市 \(s_i\) 前往城市 \(e_i\) ,每单位长度耗油量为 \ ...

  8. NOIP 游记

    前情提要:color \(100\to 0\),arena \(92/100\to 36\). 最后一场模拟赛喜提 0+0+100+0,挺乐的. Day 0 晚上九点睡,然而还是很早就醒了,但是时间体 ...

  9. dbeaver软件使用问题

    一.dbeaver导出数据表到csv后数据乱码 按如下方式导出即可 勾选插入BOM即可 Excel在读取csv的时候是通过读取文件头上的bom来识别编码的,如果文件头无bom信息,则默认按照unico ...

  10. 并发编程 - 线程同步(九)之信号量Semaphore

    前面对自旋锁SpinLock进行了详细学习,今天我们将学习另一个种同步机制--信号量Semaphore. 01.信号量是什么? 在 C# 中,信号量(Semaphore)是一种用于线程同步的机制,能够 ...