安装部署

本文档详细列出了系统部署所需的软硬件环境依赖,并提供标准化的安装脚本与配置步骤,帮助用户在本地或服务器环境中完成系统初始化。

整个安装过程分为以下几步:

  1. 前置要求:明确系统运行所需的软硬件规格及依赖项,确保环境满足部署标准。
  2. 安装 Docker 环境:部署并验证 Docker 容器运行环境,为服务提供基础支撑。
  3. 下载 docker-compose.yaml 文件:获取部署所需的 YAML 编排文件,并根据实际环境调整配置。
  4. 服务初始化:执行服务启动命令,系统自动拉取所需镜像并实例化容器。
  5. 访问服务:服务启动后,访问并登录 NebulaAI。
  6. 配置模型和相关初始数据:首次访问后完成模型与初始化数据配置,系统才能正常使用。

首次拉取镜像受网络状况影响较大,通常需要 10 到 20 分钟,请保持网络通畅直至服务启动完成。

2.1 前置要求

2.1.1 基础依赖

在线安装前,请确保服务器已安装以下基础服务:

  • docker >= 20.10.24
  • 如使用 mysql:8.0.42,需满足 docker >= 24.0.8
  • docker-compose >= 1.25.4
  • 操作系统优先推荐 Ubuntu 22.04 及以上、Debian 11 及以上;次级推荐 CentOS 7.9 64 位

2.1.2 模型服务准备

需要申请兼容 OpenAI 调用方式的模型,并获取以下信息:

  • API Key
  • 模型名称
  • 请求地址

可选模型例如阿里云千问系列、DeepSeek 系列等。

推荐模型配置:

  • 千问:qwen3-max
  • DeepSeek:DeepSeek-v3.1

2.1.3 资源建议

  • CPU:>= 8C
  • 内存:>= 16G

2.1.4 网络要求

建议允许服务器访问外部网络。

2.1.5 磁盘要求

使用 Docker 安装时,Docker 所在磁盘建议至少预留 40G 空间,生产环境建议 100G 以上。空间不足可能导致镜像拉取失败或容器异常终止。

2.2 安装 Docker 环境

  1. 如果服务器上已安装 Docker,可跳过本节。
  2. 本文以 Ubuntu 24.04.2 LTS 联网安装为例;如需离线安装,请参考 Docker 官方二进制安装文档。

2.2.1 安装 Docker

# 1. 下载关于 Docker 的依赖环境
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

安装 Docker 依赖环境

安装依赖成功示例

2.2.2 添加 Docker 官方 GPG key

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

添加 Docker GPG key

2.2.3 添加仓库

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

添加 Docker 仓库

2.2.4 安装 Docker Engine

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
docker version

更新软件源索引

安装 Docker Engine

查看 Docker 版本

如果出现这个报错,主要原因是 APT 无法找到 docker-cedocker-ce-clicontainerd.io 这三个包,也就是说当前系统软件源列表里没有 Docker 官方仓库,所以无法直接安装。

Docker 包不可用报错

解决方案:修改 Docker 源文件。

sudo nano /etc/apt/sources.list.d/docker.list

编辑 docker.list

把原来的内容改成:

deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu jammy stable

将发行版代号改为 jammy

保存后重新执行本节的安装步骤。

2.3 下载 docker-compose.yaml 文件

2.3.1 安装命令

可以根据使用的操作系统,执行对应命令:

# AMD-64
wget --content-disposition "https://nbagent.ai/api/docs/files?version=v2.7.2"
mv docker-compose-v2.7.2.yaml docker-compose.yaml

# ARM-64
wget --content-disposition "https://nbagent.ai/api/docs/files?version=v2.7.2&arch=arm64"
mv docker-compose-v2.7.2-arm.yaml docker-compose.yaml

下载 docker-compose.yaml 文件

2.3.2 创建挂卷

sudo mkdir -p /home/chatbot/langflow-data
sudo mkdir -p /home/chatbot/chatbot-agent/files/upload
sudo chmod -R 777 /home/chatbot/langflow-data
sudo chmod -R 777 /home/chatbot/chatbot-agent/files/upload

创建挂卷目录

2.3.3 修改 yaml 文件

  1. 先查看当前目录是否存在 YAML 文件:
ls

检查 YAML 文件

  1. 编辑 docker-compose.yaml
vim docker-compose.yaml

编辑 docker-compose.yaml

  1. 将文件中的 {your_ip_or_host} 替换为当前环境的实际 IP 或域名,例如:
:%s/{your_ip_or_host}/10.10.4.10/g

替换实际 IP 地址

  1. 执行完成后,保存文件并退出。

2.3.4 启动镜像

# 旧版本命令
sudo docker-compose up -d

# 新版本命令
sudo docker compose up -d

启动服务

看到下面内容时,说明安装成功:

容器创建成功

2.3.5 访问测试

在浏览器中访问下列地址,替换为当前环境的实际 IP 或域名:

# 格式
http://{ip 地址或者域名}:{chatbot-web 的监听端口}

# 默认
http://{ip 地址}:3000

访问登录页

看到登录页时,说明服务已启动成功。

初始账号信息如下:

username: chatbot
password: yourchatbotpassword

默认账号登录示意图

2.4 配置模型和相关的初始数据

2.4.1 挂卷 pip nvidia 安装包

# AMD-64
sudo docker exec chatbot-agent pip install -i https://mirrors.aliyun.com/pypi/simple nvidia-cublas-cu12==12.4.5.8 nvidia-cuda-cupti-cu12==12.4.127 nvidia-cuda-nvrtc-cu12==12.4.127 nvidia-cuda-runtime-cu12==12.4.127 nvidia-cudnn-cu12==9.1.0.70 nvidia-cufft-cu12==11.2.1.3 nvidia-curand-cu12==10.3.5.147 nvidia-cusolver-cu12==11.6.1.9 nvidia-cusparse-cu12==12.3.1.170 nvidia-nccl-cu12==2.21.5 nvidia-nvjitlink-cu12==12.4.127 nvidia-nvtx-cu12==12.4.127

# ARM-64
sudo docker exec chatbot-agent pip install -i https://mirrors.aliyun.com/pypi/simple nvidia-cuda-cupti-cu12==12.4.127 nvidia-cuda-nvrtc-cu12==12.4.127 nvidia-cuda-runtime-cu12==12.4.127 nvidia-cudnn-cu12==9.1.0.70.post1 nvidia_cublas_cu12==12.9.0.13 nvidia-cufft-cu12==11.2.1.3 nvidia_nvjitlink_cu12==12.9.41 nvidia-curand-cu12==10.3.5.147 nvidia-cusolver-cu12==11.6.1.9 nvidia-cusparse-cu12==12.5.9.5 nvidia-nccl-cu12==2.23.4 nvidia-nvtx-cu12==12.4.127

安装 NVIDIA 依赖包

看到下面的信息时,说明安装包已下载成功:

NVIDIA 依赖安装完成

2.4.2 进行挂卷

由于该安装包较大,下载后建议进行挂卷。可以先进入 docker-compose.yaml 检查是否已经包含以下配置:

volumes:
  - /home/chatbot/chatbot-agent/files:/data/uploads
  - /home/chatbot/chatbot-agent/faiss_db:/data/faiss_db
  - /home/chatbot/chatbot-agent/teach_db:/data/teach_db
  - /home/chatbot/chatbot-agent/chromadb:/data/chromadb
  - /home/chatbot/chatbot-agent/nvidia:/usr/local/lib/python3.10/site-packages/nvidia

检查挂卷配置

如果没有,可以执行下面的命令:

sudo docker cp chatbot-agent:/usr/local/lib/python3.10/site-packages/nvidia /home/chatbot/chatbot-agent/

复制 nvidia 目录到宿主机

完成以上步骤后,NebulaAI 的安装就完成了。