系统要求
一、概述
本文档描述灵洲AI平台的完整系统运行要求,涵盖应用服务器与模型服务器两大部分,并在此基础上补充私有化部署场景下对三类核心模型(大语言模型、向量化模型、重排序模型)的详细要求。
适用范围
| 范围 | 说明 |
|---|---|
| 应用服务本身 | 应用进程运行所需的 CPU、内存、磁盘资源 |
| 模型推理服务 | 私有化部署模型所需的 GPU 显存、内存、存储资源 |
| 第三方依赖服务 | 数据库、缓存、消息队列等中间件的资源需求(不包含在本文档内,需独立评估) |
第三方依赖服务说明
灵洲AI平台依赖以下第三方服务,强烈建议将其独立部署于单独的服务器或容器中,或直接使用云服务:
- 数据库服务:MySQL / PostgreSQL
- 缓存服务:Redis
- 对象存储:MinIO
- 搜索引擎 / 向量数据库:Elasticsearch
- API 网关 / 反向代理:Nginx
上述服务的系统配置和容量规划应根据实际数据量、业务负载和并发规模单独评估与调优。
二、软件环境要求
2.1 操作系统
| 操作系统 | 版本要求 | 备注 |
|---|---|---|
| Ubuntu | 22.04 LTS 及以上 | 推荐 24.04 LTS,生产环境首选 |
| CentOS | 7.x / 8.x | 兼容支持,CentOS 7 已停止维护需注意 |
| 华为欧拉 (openEuler) | 22.03 LTS+ | 兼容支持 |
2.2 容器运行时
| 组件 | 版本要求 | 备注 |
|---|---|---|
| Docker Engine | 18.06+ | 推荐 24.0+ |
| Docker Compose | v2.0+ | 用于编排多容器服务 |
2.3 其他软件依赖
| 组件 | 用途 | 安装方式 |
|---|---|---|
| Git + Git LFS | 拉取部署脚本 / 下载模型 | apt-get install -y git git-lfs |
| curl | 健康检查与接口验证 | apt-get install -y curl |
| Python 3.10+ | vLLM 推理框架运行环境 | 容器内预装或自定义 |
三、应用服务器硬件要求
3.1 单节点部署模式
单节点部署指应用服务(含第三方依赖中间件)全部运行于单一服务器或容器实例中。
最低硬件要求
| 资源 | 要求 | 适用场景 |
|---|---|---|
| CPU | 8 核 | 微型业务 |
| 内存 | 16 GB | 功能验证(POC) |
| 磁盘 | 200 GB SSD | 开发 / 测试环境 |
| 操作系统 | Ubuntu 22.04 LTS+ / Docker 18.06+ | 几乎无并发访问的场景 |
提示:该配置仅保证系统可运行,不保证性能体验。当数据量或并发请求增长时,系统资源可能迅速成为瓶颈。
推荐硬件要求
| 资源 | 推荐配置 | 适用场景 |
|---|---|---|
| CPU | 8 核 | 中小型业务 |
| 内存 | 32 GB | 少量并发的生产环境 |
| 磁盘 | 300 GB SSD | 常规管理后台操作 |
| 操作系统 | Ubuntu 24.04 LTS / Docker 18.06+ | 轻量级业务负载 |
提示:在该配置下系统可满足常规管理后台操作及轻量级业务负载。当业务复杂度、并发访问或后台任务增多时,应考虑升级硬件规格或迁移至集群模式。
3.2 集群部署模式(推荐用于生产环境)
| 资源 | 推荐配置 | 说明 |
|---|---|---|
| 节点数量 | ≥ 3 台 | 应用节点高可用,至少 2 台 + 1 台调度 |
| CPU | 16 核 / 节点 | 满足高并发请求处理 |
| 内存 | 64 GB / 节点 | 支持大并发会话与缓存 |
| 磁盘 | 500 GB NVMe SSD / 节点 | 高 IOPS,保障日志与数据读写 |
| 负载均衡 | Nginx / 云 SLB | 前置流量分发 |
| 适用场景 | 中大型业务 / 高并发生产环境 | 支持 7×24 小时稳定运行 |
四、私有化模型要求
灵洲AI平台全套功能依赖三类模型协同工作,私有化部署时需至少各部署一个:
| 模型类型 | 能力标识 | 核心作用 | 必需性 |
|---|---|---|---|
| 大语言模型 (LLM) | chat / llm | 对话生成、意图理解、工具调用、推理决策 | 必需 |
| 向量化模型 (Embedding) | embedding | 文本向量化、语义检索、知识库索引构建 | 必需 |
| 重排序模型 (Rerank) | rerank | 检索结果重排序、提升召回精度 | 必需 |
三类模型可选择私有化部署或使用云服务 API,至少各接入一个方可正常使用平台全部功能。
当需要RAG类知识库需求时,必须安装向量化模型和重排序模型
5.1 大语言模型 (LLM)
5.1.1 模型选型与规格
| 推荐模型 | 参数量 | 量化方式 | 权重大小 | 最小显存需求 | 推荐显存 | 适用场景 |
|---|---|---|---|---|---|---|
| Qwen3.6-27B | 27B | FP16 | ~55 GB | 64 GB | 80 GB | 生产级对话 + 工具调用 |
| Qwen3.6-35B-A3B | 35B | FP16 | ~62 GB | 80 GB | 128 GB | 生产级深度 RAG |
5.1.2 硬件要求
| 资源 | 7B 模型 | 14B~27B 模型 | 32B+ 模型 |
|---|---|---|---|
| GPU 显存 | ≥ 24 GB (单卡) | ≥ 80 GB (2 卡) | ≥ 128 GB (4 卡) |
| GPU 数量 | 1 张 | 2 张 | 4 张 |
| 张量并行度 | 1 | 2 | 4 |
| 系统内存 | ≥ 32 GB | ≥ 64 GB | ≥ 128 GB |
| 存储空间 | ≥ 50 GB | ≥ 100 GB | ≥ 200 GB |
| 最大上下文 | 32768 tokens | 32768 tokens | 32768 tokens |
5.1.3 vLLM 启动参数要求
大语言模型启动时必须配置以下三个参数,否则平台工具调用功能将异常:
--enable-auto-tool-choice \
--tool-call-parser qwen3_xml \
--reasoning-parser qwen3
完整启动示例(Qwen3.6-27B,4 卡并行):
VLLM_USE_V1=0 \
TORCH_COMPILE_DISABLE=1 \
VLLM_SOURCE_BROADCAST_TIMEOUT=600 \
CUDA_VISIBLE_DEVICES=0,1,2,3 \
nohup python3 -m vllm.entrypoints.openai.api_server \
--model /home/models/Qwen3.6-27B/ \
--served-model-name qwen3.6-27b-chat \
--tensor-parallel-size 4 \
--max-model-len 32768 \
--gpu-memory-utilization 0.65 \
--enable-auto-tool-choice \
--tool-call-parser qwen3_xml \
--reasoning-parser qwen3 \
--max-num-seqs 24 \
--max-num-batched-tokens 32768 \
--port 8080 \
--host 0.0.0.0 \
> qwen27b_4card_32k.log 2>&1 &
5.1.4 关键参数说明
| 参数 | 说明 | 建议 |
|---|---|---|
--model | 模型文件路径,对应下载目录 | /home/models/<模型名>/ |
--served-model-name | 服务唯一标识,需与平台配置一致 | 自定义易识别名称 |
--tensor-parallel-size | 张量并行度,等于使用的 GPU 数 | 1 / 2 / 4 |
--max-model-len | 最大上下文长度 | 建议 32768,按显存调整 |
--gpu-memory-utilization | GPU 显存占用比例 | 0.5~0.85,显存不足时调低 |
--max-num-seqs | 最大并发序列数 | 按并发量调整,7B 建议 32,27B+ 建议 24 |
--enable-auto-tool-choice | 启用自动工具选择 | 必需 |
--tool-call-parser | 工具调用解析器 | 必需,Qwen 系列用 qwen3_xml |
--reasoning-parser | 推理过程解析器 | 必需,Qwen 系列用 qwen3 |
5.2 向量化模型 (Embedding)
5.2.1 模型选型与规格
| 推荐模型 | 参数量 | 权重大小 | 向量维度 | 最小显存需求 | 适用场景 |
|---|---|---|---|---|---|
| Qwen3-Embedding-0.6B | 0.6B | ~1.2 GB | 1024 | 2 GB | 通用文本向量化(推荐) |
| BAAI/bge-large-zh-v1.5 | 0.3B | ~1.3 GB | 1024 | 2 GB | 中文场景优化 |
| BAAI/bge-m3 | 0.6B | ~2.3 GB | 1024 | 4 GB | 多语言 / 多粒度检索 |
| text-embedding-v3 (在线) | — | — | 1024 | — | 阿里云 API,免本地部署 |
5.2.2 硬件要求
| 资源 | 要求 | 备注 |
|---|---|---|
| GPU 显存 | ≥ 4 GB | 向量化模型参数量小,显存需求低 |
| GPU 数量 | 1 张 | 可与重排序模型共享同一张 GPU |
| 系统内存 | ≥ 16 GB | 满足批量文本预处理 |
| 存储空间 | ≥ 10 GB | 模型权重 + 索引数据 |
| 最大输入长度 | 4096 tokens | 按文档块大小调整 |
5.2.3 vLLM 启动示例
VLLM_USE_V1=0 \
TORCH_COMPILE_DISABLE=1 \
CUDA_VISIBLE_DEVICES=2 \
nohup python3 -m vllm.entrypoints.openai.api_server \
--model /home/models/Qwen3-Embedding-0.6B/ \
--served-model-name qwen-embedding \
--tensor-parallel-size 1 \
--max-model-len 4096 \
--gpu-memory-utilization 0.1 \
--enforce-eager \
--max-num-seqs 32 \
--port 8011 \
--host 0.0.0.0 \
> embed.log 2>&1 &
5.2.4 关键参数说明
| 参数 | 说明 | 建议 |
|---|---|---|
--enforce-eager | 强制 eager 模式,禁用 CUDA Graph | 向量化模型建议开启,节省显存 |
--gpu-memory-utilization | GPU 显存占用比例 | 建议 0.1,可与重排序模型共享 GPU |
--max-num-seqs | 最大并发序列数 | 批量索引构建时建议 ≥ 32 |
--max-model-len | 最大输入长度 | 建议 4096 |
5.3 重排序模型 (Rerank)
5.3.1 模型选型与规格
| 推荐模型 | 参数量 | 权重大小 | 最小显存需求 | 适用场景 |
|---|---|---|---|---|
| BAAI/bge-reranker-v2-m3 | 0.6B | ~2.3 GB | 4 GB | 多语言重排序(推荐) |
| BAAI/bge-reranker-large | 0.6B | ~1.3 GB | 4 GB | 中文场景优化 |
| BAAI/bge-reranker-base | 0.3B | ~0.5 GB | 2 GB | 轻量级场景 |
5.3.2 硬件要求
| 资源 | 要求 | 备注 |
|---|---|---|
| GPU 显存 | ≥ 4 GB | 重排序模型参数量小,显存需求低 |
| GPU 数量 | 1 张 | 可与向量化模型共享同一张 GPU |
| 系统内存 | ≥ 16 GB | 满足候选文档批量重排序 |
| 存储空间 | ≥ 10 GB | 模型权重 |
| 最大输入长度 | 4096 tokens | 覆盖 query + 文档块 |
5.3.3 vLLM 启动示例
CUDA_VISIBLE_DEVICES=3 \
nohup python3 -m vllm.entrypoints.openai.api_server \
--model /home/models/bge-reranker-v2-m3 \
--served-model-name bge-rerank \
--runner pooling \
--tensor-parallel-size 1 \
--max-model-len 4096 \
--gpu-memory-utilization 0.1 \
--max-num-seqs 10 \
--enforce-eager \
--port 8013 \
--host 0.0.0.0 \
> bge-rerank.log 2>&1 &
5.3.4 关键参数说明
| 参数 | 说明 | 备注 |
|---|---|---|
--runner pooling | 使用 pooling 模式运行 | 重排序模型必需,区别于 LLM 的 generate 模式 |
--enforce-eager | 强制 eager 模式 | 建议开启,节省显存 |
--gpu-memory-utilization | GPU 显存占用比例 | 建议 0.1,可与向量化模型共享 GPU |
--max-num-seqs | 最大并发序列数 | 建议 10,按召回文档数量调整 |
5.4 模型部署工具链
| 工具 | 用途 | 安装方式 |
|---|---|---|
| ModelScope SDK | 模型下载(推荐) | pip install modelscope |
| Git + Git LFS | 模型下载(备选) | apt-get install -y git git-lfs && git lfs install |
| vLLM | 模型推理服务框架 | 容器内预装,或 pip install vllm |
| curl | 接口验证 | apt-get install -y curl |
5.5 存储与目录规范
模型文件须统一存放于 /home/models/ 目录下(或通过卷挂载映射的宿主机对应路径),建议按模型名称作为子目录:
/home/models/
├── Qwen3.6-27B/ # 大语言模型
├── Qwen3-Embedding-0.6B/ # 向量化模型
└── bge-reranker-v2-m3/ # 重排序模型
下载完成后验证模型文件完整性:
ls -lh /home/models/<模型目录名>/
# 正常应包含 config.json、模型权重文件(.bin / .safetensors)等
5.6 模型启动验证
| 模型类型 | 验证命令 | 成功标志 |
|---|---|---|
| LLM | curl -X POST http://<IP>:8080/v1/chat/completions -H "Content-Type: application/json" -d '{"model":"qwen3.6-27b-chat","messages":[{"role":"user","content":"你好"}]}' | 返回 JSON 格式的对话回复,含 tool_calls 结构 |
| Embedding | curl http://127.0.0.1:8011/v1/models | 返回 JSON 格式的模型列表 |
| Rerank | curl http://localhost:8013/v1/rerank -H "Content-Type: application/json" -d '{"model":"bge-rerank","query":"测试","documents":["文档1","文档2"]}' | 返回 JSON 格式的重排序结果 |
5.7 GPU 资源分配建议
单台模型服务器(4 张 GPU)的典型资源分配方案:
| GPU | 分配模型 | 显存占用 | 说明 |
|---|---|---|---|
| GPU 0-3 | LLM (27B+) | ~80 GB (4×20GB) | 张量并行,占用 4 张卡 |
| GPU 2 | Embedding | ~4 GB | 与 LLM 共享 GPU 2,显存占用极低 |
| GPU 3 | Rerank | ~4 GB | 与 LLM 共享 GPU 3,显存占用极低 |
提示:向量化模型和重排序模型参数量小(< 1B),显存占用极低(~0.1 比例),可与 LLM 共享 GPU。若 LLM 显存紧张,建议将 Embedding 和 Rerank 部署到独立的小显存 GPU 上。
六、网络要求
6.1 端口规划
| 服务 | 默认端口 | 说明 |
|---|---|---|
| 平台前端 | 80 / 443 | Web 访问入口 |
| 平台后端 | 5050 | API 服务 |
| MySQL | 3306 | 数据库 |
| Redis | 6379 | 缓存 |
| Elasticsearch | 9200 | 搜索引擎 / 向量数据库 |
| MinIO | 9000 / 9001 | 对象存储 API / 控制台 |
| LLM 服务 | 8080 | vLLM 对话模型 |
| Embedding 服务 | 8011 | vLLM 向量化模型 |
| Rerank 服务 | 8013 | vLLM 重排序模型 |
6.2 网络连通性
| 网络需求 | 说明 |
|---|---|
| 应用服务器 ↔ 模型服务器 | 内网互通,低延迟(< 5ms) |
| 应用服务器 ↔ 第三方服务 | Docker 服务名互联,无需固定 IP |
| 模型下载 | 需访问魔搭社区(ModelScope CDN),内网环境需配置代理 |
| 云 API 模型 | 需访问公网(阿里云百炼 / OpenAI 等),需配置出口策略 |
七、容量规划建议
7.1 按业务规模选型
| 业务规模 | 并发用户 | 应用服务器 | 模型服务器 | 模型选型建议 |
|---|---|---|---|---|
| 微型 / POC | < 10 | 单节点 8C/16G/200G | 单卡 24GB GPU | Qwen2.5-7B + bge-m3 |
| 小型 | 10~50 | 单节点 8C/32G/300G | 单卡 80GB GPU | Qwen2.5-14B + bge-m3 |
| 中型 | 50~200 | 单节点 16C/64G/500G | 2 卡 80GB GPU | Qwen3.6-27B + bge-m3 |
| 大型 | 200~500 | 集群 3×16C/64G | 4 卡 80GB GPU | Qwen2.5-32B + bge-m3 |
| 超大型 | 500+ | 集群 5+ 节点 | 多机多卡 | 32B+ / DeepSeek + bge-m3 |
7.2 存储容量估算
| 数据类型 | 估算公式 | 示例(10 万篇文档) |
|---|---|---|
| 原始文档 | 文档数 × 平均文档大小 | 10 万 × 100KB = 10 GB |
| 向量索引 | 文档块数 × 向量维度 × 4 字节 | 50 万块 × 1024 × 4 = 2 GB |
| 模型权重 | 按模型参数量 | 27B 模型 ≈ 55 GB |
| 系统日志 | 日均增长 × 保留天数 | 1GB/天 × 30 天 = 30 GB |
| 总计建议 | 以上之和 × 1.5(冗余) | ≈ 150 GB |
八、部署检查清单
部署前请逐项确认:
- 操作系统版本符合要求(Ubuntu 22.04+ / CentOS 7+ / openEuler 22.03+)
- Docker Engine 18.06+ 已安装并正常运行
- Docker Compose v2+ 已安装
- 应用服务器硬件满足最低 / 推荐配置
- 模型服务器 GPU 驱动已安装,
nvidia-smi正常输出 - NVIDIA Container Toolkit 已安装,容器内 GPU 可见
- 三类模型文件已下载至
/home/models/目录 - 模型文件完整性已验证(含 config.json、权重文件)
- vLLM 推理框架已安装
- LLM 启动参数包含
--enable-auto-tool-choice、--tool-call-parser、--reasoning-parser - 各模型服务端口不冲突
- 模型启动验证通过(curl 接口返回正常)
- 应用服务器与模型服务器网络互通
- 第三方服务(MySQL、Redis、Elasticsearch、MinIO)已独立部署或已配置
- 磁盘空间充足,SSD / NVMe 性能满足要求
附录:相关文档
| 文档 | 说明 |
|---|---|
| 系统架构 | 灵洲AI平台整体架构与技术栈 |
| Docker 安装 | 一键安装与分步安装指南 |
| 模型部署 | 私有化本地模型部署详解 |
| VLLM 配置 | vLLM 模型接入与配置 |
| 在线 API 配置 | 通义千问等在线模型服务配置 |