麒麟操作系统大模型私有化部署整套服务部署文档(ollama+dify+运维速查版)
一、文档说明
适用环境:麒麟Kylin Linux(x86_64架构)、双T4 GPU、离线无外网、内网互通
部署范围:Ollama(Qwen3:32B+BGE-M3)+ 自定义向量/重排服务 + Dify知识库
核心用途:提供完整部署流程、后台保活、端口配置、Dify对接及问题排查,适配日常运维及交接使用
二、环境基础信息
2.1 系统与硬件
- 操作系统:麒麟Kylin Linux
- 架构:X86_64
- 显卡:双T4 GPU(支持CUDA加速)
- 网络:离线无外网,仅内网互通
2.2 部署组件及端口规划(核心)
|
部署组件 |
用途 |
端口 |
备注 |
|
Ollama服务 |
运行Qwen3:32B对话模型、管理BGE-M3向量模型 |
13333 |
默认11434修改,全局生效 |
|
BGE-M3向量服务 |
文本向量化,支持Dify对接 |
8001 |
基于FastAPI开发 |
|
Reranker重排服务 |
检索结果重排,提升召回精度 |
8002 |
基于FastAPI开发 |
三、Ollama部署(核心步骤)
3.1 离线安装与模型导入
1. 上传Ollama离线安装包至服务器,执行安装命令(具体命令根据安装包类型调整);
2. 离线导入模型(提前准备模型离线包):
命令1:导入Qwen3:32B对话模型
ollama load qwen3:32b
命令2:导入BGE-M3向量模型
ollama load bge-m3
3. 查看已安装模型(验证导入成功):
OLLAMA_HOST=:13333 ollama list
3.2 后台启动(关闭SSH不中断,推荐)
1. 清理旧进程(避免端口占用):
pkill -9 ollama
2. 后台常驻启动(指定13333端口,模型常驻24小时):
screen -dmS ollama /bin/bash -c "OLLAMA_HOST=0.0.0.0:13333 OLLAMA_KEEP_ALIVE=24h ollama serve"
3.3 常用操作(screen会话管理)
- 进入会话查看Ollama运行日志:screen -r ollama
- 退出会话(服务继续后台运行):Ctrl+A+D
- 关闭会话(停止Ollama服务):screen -S ollama -X quit
3.4 全局端口配置(无需每次输入端口)
执行以下命令,配置后直接使用ollama命令即可访问:
echo "export OLLAMA_HOST=:13333" >> /etc/profile
source /etc/profile
3.5 服务验证
1. 查看13333端口监听状态:
netstat -antp | grep 13333
2. 本地接口测试(确认服务正常):
curl http://127.0.0.1:13333/api/tags
四、BGE-M3向量服务 + 重排服务部署
4.1 环境准备
- 虚拟环境路径:/home/model-serve/venv
- 项目根目录:/home/model-serve
- 依赖:提前打包离线依赖包,在服务器本地安装
4.2 虚拟环境激活
source /home/model-serve/venv/bin/activate
4.3 后台启动命令(断开SSH不中断)
1. BGE-M3向量服务(8001端口)
source /home/model-serve/venv/bin/activate && \
cd /home/model-serve && \
nohup python embedding/app.py > embedding.log 2>&1
2. Reranker重排服务(8002端口)
source /home/model-serve/venv/bin/activate && \
cd /home/model-serve && \
nohup python reranker/app.py > reranker.log 2>&1
4.4 服务验证与日志查看
1. 查看端口监听(确认两个服务都启动):
netstat -antp | grep python
2. 查看日志(排查启动失败问题):
查看向量服务日志:tail -f /home/model-serve/embedding.log
查看重排服务日志:tail -f /home/model-serve/reranker.log
4.5 BGE-M3核心参数(Dify配置用)
- 模型名称:bge-m3
- 最大上下文长度:8192 tokens
- 向量输出维度:1024维
- 建议切片长度:2048~4096 tokens(兼顾速度与精度)
五、Python本地测试向量调用(可选)
1. 新建测试脚本 emb_test.py,内容如下:
from ollama import Client
# 对接13333端口
client = Client(host="http://127.0.0.1:13333")
# 单文本向量化测试
text = "测试文档内容"
res = client.embed(model="bge-m3", input=text)
print("向量维度:",len(res["embeddings"][0]))
2. 运行测试:
python emb_test.py
3. 正常输出“向量维度:1024”即为测试成功。
六、Dify平台对接配置
6.1 对接Ollama对话模型(Qwen3:32B)
1. 登录Dify后台 → 进入【设置】→【模型供应商】→【新增Ollama】;
2. 填写以下参数,保存后测试连通性:
- 基础URL:http://服务器内网IP:13333
- API Key:留空(Ollama无需API Key)
- 模型类型:对话模型
- 模型名称:qwen3:32b
6.2 对接BGE-M3向量模型
1. 继续在Ollama供应商下,【添加模型】;
2. 填写以下参数,保存即可:
- 基础URL:http://服务器内网IP:13333
- 模型类型:Embedding(嵌入模型)
- 模型名称:bge-m3
- 上下文长度:8192
3. 进入Dify知识库 →【设置】→【模型配置】,在“向量模型”下拉框选择“bge-m3”即可使用。
6.3 对接自定义向量/重排服务(可选)
若不使用Ollama内置向量/重排,需对接8001/8002端口的自定义服务:
- 自定义向量模型:添加模型 → 选择“自定义向量模型”,接口地址填写 http://内网IP:8001/embed
- 自定义重排模型:添加模型 → 选择“自定义重排模型”,接口地址填写 http://内网IP:8002/rerank
6.4 防火墙端口放行
执行以下命令,放行核心端口(确保Dify能访问):
firewall-cmd --add-port=13333/tcp --permanent
firewall-cmd --add-port=8001/tcp --permanent
firewall-cmd --add-port=8002/tcp --permanent
firewall-cmd --reload
七、常见问题汇总(运维必备)
|
问题现象 |
原因 |
解决方法 |
|
关闭SSH窗口,服务停止 |
未使用后台启动方式,进程随SSH会话终止 |
使用screen或nohup后台启动,禁止前台直接运行 |
|
Ollama修改端口后,client连接失败 |
未加载全局端口环境变量 |
执行 source /etc/profile 加载环境变量 |
|
重排服务启动后直接退出,报错127 |
未激活虚拟环境、未进入项目目录 |
启动命令必须携带 source 虚拟环境 + cd 项目目录 |
|
Qwen3:32B显存占用低、推理慢 |
后台服务丢失GPU并行参数,未启用双卡并行 |
使用screen交互式会话启动ollama serve(推荐方案) |
|
Dify无法访问内网服务 |
防火墙未放行端口,或Dify使用127.0.0.1访问 |
1. 放行对应端口;2. Dify填写服务器真实内网IP,禁止用127.0.0.1 |
八、开机自启配置(可选)
1. 编辑开机自启文件:
vi /etc/rc.d/rc.local
2. 写入以下内容(等待系统初始化,避免启动失败):
sleep 20
# 启动Ollama服务
screen -dmS ollama /bin/bash -c "OLLAMA_HOST=0.0.0.0:13333 OLLAMA_KEEP_ALIVE=24h ollama serve"
# 启动向量服务
source /home/model-serve/venv/bin/activate && cd /home/model-serve && nohup python embedding/app.py > embedding.log 2>&1
# 启动重排服务
source /home/model-serve/venv/bin/activate && cd /home/model-serve && nohup python reranker/app.py > reranker.log 2>&1
3. 赋予文件执行权限:
chmod +x /etc/rc.d/rc.local
九、运维速查版(精简,日常快速操作)
9.1 核心启动命令
- Ollama启动:pkill -9 ollama && screen -dmS ollama /bin/bash -c "OLLAMA_HOST=0.0.0.0:13333 OLLAMA_KEEP_ALIVE=24h ollama serve"
- 向量服务启动:source /home/model-serve/venv/bin/activate && cd /home/model-serve && nohup python embedding/app.py > embedding.log 2>&1
- 重排服务启动:source /home/model-serve/venv/bin/activate && cd /home/model-serve && nohup python reranker/app.py > reranker.log 2>&1
9.2 核心查看命令
- 查看端口:netstat -antp | grep 13333/8001/8002
- 查看Ollama日志:screen -r ollama
- 查看向量/重排日志:tail -f /home/model-serve/embedding.log(或reranker.log)
- 查看Ollama模型:ollama list
9.3 核心停止命令
- 停止Ollama:screen -S ollama -X quit 或 pkill -9 ollama
- 停止向量服务:kill $(ps aux | grep "embedding/app.py" | grep -v grep | awk '{print $2}')
- 停止重排服务:kill $(ps aux | grep "reranker/app.py" | grep -v grep | awk '{print $2}')
9.4 常见问题快速解决
- 服务启动失败:查看对应日志,优先检查虚拟环境和目录
- Dify连接失败:检查防火墙、服务器IP是否正确、端口是否监听
- Ollama显存不足:调整模型加载参数,或减少同时调用数量
|(注:文档部分内容可能由 AI 生成)
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)