1. 概述
问答BI 部分功能需要大模型的支撑,比如:问答增强、分析思路、归因分析,同义词一键配置等。用户可选用帆软 llm 大模型,本文将介绍如何部署 llm 大模型服务。
2. 环境要求
非常重要1. FineLLM 必须部署在拥有 GPU 硬件的服务器,且 GPU 配置符合要求。
2. 服务器必须安装符合要求的英伟达驱动(联系显卡供应商或服务器供应商安装)
3. 确认服务器安装了 nvidia container toolkit(联系显卡供应商或服务器供应商安装)
4. 模型体积较大,需保证服务器拥有至少 100GB 可用空间
客户需准备一台配备安培架构 GPU 的服务器,推荐使用的 GPU 型号包括 4090,A10,A100,L20,L40,L40S,A800,A40,A6000,H100,H800 等。
| 配置项 | 最低配置 |
|---|---|
| GPU显存 | 24GB |
| 内存 | 64G |
| 硬盘 | 200G |
| docker | 20.0.0 |
| 英伟达驱动 | cuda12.2以上的版本 注:不同的 GPU 型号需要不同的驱动,建议安装驱动的操作交给专业人士 |
| 安装英伟达容器包 | Nvidia container toolkit |
3. 操作步骤
3.0 检查英伟达驱动
执行 nvidia-smi,显示显卡详情则表示驱动已安装。
3.1 安装 Docker
安装步骤中需要使用到 Docker,请先检查服务器中是否已完成安装 Docker,检查 Docker 命令:docker --version
若没有安装则会显示 command not found,如下图所示,此时则需要在服务器上安装 Docker,安装步骤可参考:Linux系统安装Docker
若已安装则会显示 Docker 的版本信息,如下图所示:
![]()
3.2 上传资源到服务器
将安装资源下载到服务器指定文件夹中:
| 资源名 | 下载链接 |
|---|---|
| 镜像文件 | https://fanruan-ai.oss-cn-hangzhou.aliyuncs.com/fine-llm/fine-llm_v1_0.tar.gz |
| 模型文件 | https://fanruan-ai.oss-cn-hangzhou.aliyuncs.com/models/qwen_sft_0929.tar.gz |
| 代码文件 |
1)将 Docker 镜像文件下载到服务器的指定目录(示例路径:/home/images),命令示例:
先进入示例路径:cd /home/images
下载镜像文件到该路径下:curl -O https://fanruan-ai.oss-cn-hangzhou.aliyuncs.com/fine-llm/fine-llm_v1_0.tar.gz
解压镜像文件:gunzip fine-llm_v1_0.tar.gz

2)新建 qwen_model 文件夹并下载模型文件到服务器,并记住 /模型所在路径/qwen_model(示例路径:/home/qwen_model),命令示例:
进入示例路径:cd /home/qwen_model
下载模型文件到该路径下:curl -O https://fanruan-ai.oss-cn-hangzhou.aliyuncs.com/models/qwen_sft_0929.tar.gz
解压模型文件:tar -zxvf qwen_sft_0929.tar.gz ,解压后如下图所示:

3)新建 fine-llm 文件夹并下载代码文件到服务器,并记住 /代码所在路径/fine-llm (示例路径:/home/ai/fine-llm) 位置,如下图所示:

3.3 安装 llm 容器
1)执行 docker load 命令导入镜像文件。若遇到报错“no space left on device”请查看文档末尾的常见问题。
命令示例:docker load -i fine_llm_v1_0.tar

2)执行 docker images 命令以确认镜像是否已成功导入。
命令示例:docker images

3)依据已经导入的镜像,使用 docker run 命令创建并启动一个新的容器。
命令示例:docker run -it --gpus all --name llm -d -p 8020:8020 -v /模型所在路径/qwen_model/qwen2_5_sft_0929:/home/qwen2_5_sft_0929 -v /代码所在路径/fine-llm:/home/fine-llm fine-llm:v1.0
| 命令分解 | 解释 |
|---|---|
| --gpus all | 当前创建的容器可以调用全部可用的 GPU 资源执行计算任务 |
| --name llm | 将创建的容器命名为llm |
| -d | 容器以后台守护进程的模式运行 |
| -p 8020:8020 | 将服务器的 8020 端口映射到容器内部的 8020 端口,如此外部网络课通过服务器的 8020 端口与容器内的服务进行通信交互 |
| -v /home/qwen_model/qwen2_5_sft_0929:/home/qwen2_5_sft_0929 | 将服务器上的 /home/qwen_model/qwen2_5_sft_0929 目录挂载到容器内部的 /home/qwen2_5_sft_0929 目录,方便容器内的应用直接访问模型文件 |
| -v /home/ai/fine-llm:/home/fine-llm | 将服务器上的 /home/ai/fine-llm 目录挂载到容器内部的 /home/fine-llm 目录,方便容器内的应用直接访问代码文件 |
| fine-llm:v1.0 | 基于名为 fine-llm 且版本为 v1.0 的镜像文件创建容器 |
4)进入到容器中
进入容器 llm :docker exec -it llm /bin/bash
切换工作目录到容器内的 /home/fine-llm 路径下(即代码路径):cd /home/fine-llm
运行脚本:nohup python app.py &.
5)依次按下 Ctrl+P 和 Ctrl+Q 退出 Docker 容器。
常见问题
1. 加载镜像时报错“no space left on device”
大概率因为 docker 数据默认存放路径 /var/lib/docker 被分配的硬盘空间不足。可执行 df -Th /var/lib/docker/ 查看被分配的空间大小。
解决办法:改变 docker data-root 路径
1)修改 /etc/docker/daemon.json 文件,没有则新建,并将 data-root 修改为硬盘空间充足的路径:
{
"data-root": "/硬盘空间大的路径"
}
2)重启 docker
命令示例:systemctl restart docker
