追梦学习库

飞腾D2000 + 麒麟V10 纯离线部署本地AI知识库:Ollama + MaxKB 实战

追梦君 341 阅读
文章摘要

在完全断网的飞腾D2000(ARM64)+ 银河麒麟V10环境下,使用Ollama + MaxKB专业版搭建本地AI知识库的完整记录,含踩坑和性能实测。

背景与目标

在涉密或内网隔离环境中,在线AI服务不可用。本文记录在飞腾D2000(ARM64)+ 银河麒麟V10纯离线环境下,使用开源组件搭建本地AI知识库的完整过程。

最终效果:上传修理日志、装备手册等文档后,通过自然语言提问即可检索和生成结构化回答,辅助资料整理和档案撰写。全程本地推理,数据不出机器。

环境信息

项目 详情
CPU 飞腾 D2000(ARM64/aarch64),8核
OS 银河麒麟 V10(arm64)
内存 16GB
网络 纯离线
推理引擎 Ollama v0.32.3(ARM64)
知识库前端 MaxKB 专业版 v2.10.4-lts(aarch64离线安装器)
对话模型 DeepSeek-R1:1.5B / Qwen3:4B(Q4_K_M)
向量模型 bge-m3(Q4_K_M)

架构概览

┌─────────────────────────────────────────────────┐
│              飞腾 D2000 / 麒麟 V10               │
│                                                 │
│  ┌──────────────┐       ┌───────────────────┐   │
│  │   MaxKB Pro  │──────▶│   Ollama Server   │   │
│  │  (Docker容器) │ HTTP  │  0.0.0.0:11434    │   │
│  │  :8080       │       │                   │   │
│  │  知识库/RAG   │       │  qwen3:4b         │   │
│  │  前端/多用户  │       │  deepseek-r1:1.5b │   │
│  └──────────────┘       │  bge-m3           │   │
│                         └───────────────────┘   │
│                              │                  │
│                         /data/ollama/models     │
│                         (GGUF模型文件)           │
└─────────────────────────────────────────────────┘

部署步骤

前置:联网机准备离线介质

在能上网的机器上下载以下文件,通过U盘或光盘(刻录时务必勾选数据校验)拷入飞腾机:

F:\ollma\
├── ollama\
│   ├── install_ollama.sh              # 一键安装脚本
│   └── ollama-linux-arm64\            # 已解压的Ollama(bin/ + lib/)
├── maxkb\
│   ├── maxkb-pro-v2.10.4-lts-arm64-offline-installer.tar.gz
│   └── maxkb-pro-license.key
├── models\
│   ├── qwen3-4b\                      # 2.4GB
│   ├── deepseek-r1-1.5b\             # 1.1GB
│   ├── bge-m3\                        # 418MB
│   ├── qwen2.5-7b\                    # 4.4GB
│   └── deepseek-r1-7b\               # 4.4GB
└── scripts\
    ├── import_models.sh               # 模型导入
    └── verify_models.sh               # MD5校验

Step 1:安装 Ollama

将介质拷到飞腾机 /data/ollma,执行一键安装:

sudo bash /data/ollma/ollama/install_ollama.sh

脚本自动完成:架构校验 → 安装二进制+运行库 → 建用户 → 写systemd → 启动 → 验证。

验证:

ollama --version
# ollama version 0.32.3

ss -tnlp | grep 11434
# LISTEN  0  128  0.0.0.0:11434  0.0.0.0:*

关键点:Ollama v0.32+ 解压后包含 bin/ollamalib/ollama/(共享库),两者都要部署。脚本会自动处理 ldconfig 注册。

Step 2:导入模型

sudo bash /data/ollma/scripts/import_models.sh
ollama list

预期输出:

NAME                    SIZE
qwen3:4b                2.4 GB
deepseek-r1:1.5b        1.1 GB
bge-m3                  418 MB
qwen2.5:7b              4.4 GB
deepseek-r1:7b          4.4 GB

Step 3:安装 MaxKB 专业版

MaxKB离线安装器自包含Docker引擎,无需预装任何依赖:

cd /data/ollma/maxkb
tar xzf maxkb-pro-v2.10.4-lts-arm64-offline-installer.tar.gz
cd maxkb-pro-v2.10.4-lts-arm64-offline-installer
sudo bash install.sh

# 确认服务
sudo mkctl status
# maxkb    running
# pgsql    running
# redis    running

Step 4:MaxKB 接入 Ollama

浏览器打开 http://<飞腾机IP>:8080,默认账号 admin / MaxKB@123..

添加对话模型:系统管理 → 模型管理 → 添加模型

配置项
供应商 Ollama
模型类型 大语言模型
基础URL http://<飞腾机局域网IP>:11434
API Key 留空(Ollama无需鉴权)
模型名 qwen3:4b

添加向量模型:同上,模型类型改为 Embedding模型,模型名填 bge-m3

注意:URL必须填飞腾机的局域网IP(如 192.168.1.100:11434),不能填 127.0.0.1。MaxKB跑在Docker容器里,localhost 指向容器自身而非宿主机。

Step 5:建知识库

  1. 创建知识库 → 命名(如"修理档案库")
  2. 上传文档(支持 docx / pdf / pptx / txt / md)
  3. 系统自动分段 + 向量化(bge-m3)
  4. 绑定到应用 → 分发访问地址

性能实测

飞腾D2000 纯CPU推理,无GPU加速:

模型 速度 适用场景
DeepSeek-R1:1.5B ~15-20 token/s 日常问答,流畅
Qwen3:4B ~8-15 token/s 复杂推理,跟手
Qwen2.5:7B ~2-4 token/s 备选,长文偏慢
bge-m3 (Embedding) 秒级 文档向量化

建议:日常用 1.5B 或 4B,7B 仅在需要更强推理能力时切换。

踩坑记录

1. ARM64 架构红线

飞腾D2000是aarch64,所有二进制必须ARM64版本。用x86_64的包会报:

exec format error

2. Ollama 新版需要运行库

v0.32+ 的tar包解压后不只是一个 ollama 二进制,还有 lib/ollama/ 目录(libggml、libllama等十几个.so)。只拷二进制会报找不到共享库。

解决:安装脚本已处理(复制到 /usr/local/lib/ollama/ + ldconfig)。手动装的话:

sudo cp -af lib/ollama/. /usr/local/lib/ollama/
echo "/usr/local/lib/ollama" | sudo tee /etc/ld.so.conf.d/ollama.conf
sudo ldconfig

3. 离线环境无法安装 zstd

原始Ollama发布包是 .tar.zst 格式,但飞腾机没网装不了zstd。

解决:在联网机上先解压好(zstd -d + tar xf),直接拷解压后的目录到飞腾机。

4. Docker容器访问宿主机Ollama

MaxKB在Docker里,填 127.0.0.1:11434 连不上(那是容器自己)。

解决:

  • Ollama 监听 0.0.0.0:11434(systemd里配 OLLAMA_HOST=0.0.0.0:11434
  • MaxKB里填飞腾机真实IP
  • 防火墙放行:sudo firewall-cmd --zone=public --add-port=11434/tcp --permanent && sudo firewall-cmd --reload

5. 光盘刻录数据损坏

13GB模型文件刻DVD,不校验就是赌博。文件头看着对(GGUF魔数通过),但中间数据损坏,ollama create 时报 "not in GGUF format"。

解决:

  • 刻录时勾选"刻录后校验数据"
  • 或改用U盘
  • 部署前跑 md5sum -c CHECKSUM 校验

总结

这套方案在完全断网的国产ARM平台上跑通了从模型推理到知识库问答的完整链路:

  • 零外网依赖:所有组件离线安装,模型本地推理
  • 零GPU依赖:纯CPU跑4B以下量化模型,日常够用
  • 数据主权:全程本地,满足保密要求
  • 可复制:全部开源组件 + 一键脚本,其他飞腾/鲲鹏机器可照搬

对于有保密要求、无法使用在线AI服务的场景,这是一条经过验证的可行路径。


部署工具包含完整脚本(install_ollama.sh / import_models.sh / verify_models.sh),如需获取欢迎交流(添加微信:unite2027)

离线部署包如下,请注册评论后获取,免费!!

下载地址已隐藏

该文章的下载链接需要发表评论后才能显示。

分享到:

发表评论

请先 登录 再评论

评论列表 (5)

avatar
Of0SZeIY 6 天前
谢谢分享
avatar
8iKdaHwF 14 天前
感谢分享
avatar
rH3J9l4O 18 天前
感谢分享
avatar
nZrwtW51 19 天前
感谢分享!
avatar
6buVYd0K 24 天前
感谢分享