主题:在 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. 实时社群技术专题(一):支持百万人超级群聊,一文读懂社群产品Discord

    本文由腾讯产品体验设计师volihuang分享,原题"千万级增长,实时社交产品Discord拆解",本文收录时有内容修订和大量排版优化. 1.引言 对于大多数人而言,对即时通讯IM ...

  2. NVM及NODE开发环境搭建

    NVM及NODE开发环境搭建 1. 安装NVM 1.1 下载安装包 下载地址 1.2 安装 双击安装包,一路下一步即可.安装完成后在终端输入nvm version,能查到版本号说明安装成功了. 2. ...

  3. linux下查看文件行数和列数

    查看行数: wc -l 文件名 查看列数: cat 文件名 | awk '{print NF}' 注意:默认是\t分割 但是可以使用-F参数指定分隔符,例如以 | 进行分割: cat 文件名 | aw ...

  4. (十一)关于之前写过的Demo源码

    .NET6.0合集(一)到(十)中的源代码我已上传到Gitee,当然部分代码并不完全代表我的编程风格,更加优雅的实现方式我会在后续慢慢更新.欢迎大家互相讨论. 仓库地址:https://gitee.c ...

  5. CDS标准视图:测量点数据 I_MeasuringPointData

    视图名称:测量点数据 I_MeasuringPointData 视图类型:基础视图 视图代码: 点击查看代码 @AbapCatalog.sqlViewName: 'IMEASPOINTDATA' @A ...

  6. Kotlin:【set集合】集合创建、可变集合mutableSetOf、集合转换(List转换成Set,去掉重复元素)、distinct快捷去重函数、数组

  7. mysl 修改数据存储位置后服务启动后停止

    在 Windows 系统中安装完 mysql 后,如果是生产用的机器,通常会修改数据存储位置.基本步骤: 1. 停止 mysql 服务: 2. 修改 my.ini 文件中的 datadir=" ...

  8. Hetao P1184 宝可梦训练家 [ 绿 ][ 背包dp ][ 线性dp ]

    原题 题解 一道超级牛逼的背包变形,想通之后真的很简单,难点在于想到使用 dp 并且用 dp 的值判断是否合法. 首先观察本题的数据范围:\(1\le n,q \le 10^5\) ,可知本题的询问要 ...

  9. WPF 控件库

    1.  wpftoolkit:  https://archive.codeplex.com/?p=wpftoolkit 2.  wpg : https://archive.codeplex.com/? ...

  10. C#如何MeasureString、Graphics获取字符串的像素长度

    1. 当单元格展示的字符串需要自动换行的时候,使用GDI绘制文本信息,需要计算字符串文本的实际高度信息(需要固定宽度) 方法一:代码如下,会出现文本没有挤满当前行,但是文本实际高度已换行. priva ...