云服务器准备
passport.compshare.cn/register?re…
采用优云智算,目前来说价格比较实惠,大家可以采用我的邀请链接
选择纯净的ubuntu系统+3090*1显卡
- 网络加速
安装驱动与CUDA
CUDA版本在12.4及以上,新版本xinference支持较好
- 删除现有的CUDA包
sudo apt-get --purge remove "*cuda*"
sudo apt-get --purge remove "*nvidia*"
sudo apt-get autoremove
sudo apt-get autoclean
- 删除之前的CUDA目录
sudo rm /etc/apt/sources.list.d/cuda*
sudo rm /etc/apt/preferences.d/cuda*
3. 清理apt源
初次安装或者没有配置则不管
sudo rm /etc/apt/sources.list.d/cuda*
sudo rm /etc/apt/preferences.d/cuda*
- 重新安装CUDA 12.4
# 下载并设置 pin 文件
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
此处一定要开启网络加速,否则下载速度极慢
# 下载并安装 CUDA 仓库包
wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda-repo-ubuntu2204-12-4-local_12.4.0-550.54.14-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-4-local_12.4.0-550.54.14-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-4-local/cuda-*-keyring.gpg /usr/share/keyrings/
# 更新软件包列表
sudo apt-get update
# 安装 CUDA 12.4
sudo apt-get -y install cuda-12-4
5. 设置环境变量
# 编辑 ~/.bashrc 文件
sudo vim ~/.bashrc
# 添加以下行
export PATH=/usr/local/cuda-12.4/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.4/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
# 保存并应用更改
source ~/.bashrc
也可以按照以下方式,设置环境变量,将以下内容添加到 ~/.bashrc:
```bash
echo 'export PATH=/usr/local/cuda-12.4/bin${PATH:+:${PATH}}' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.4/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> ~/.bashrc
- 重启系统
sudo reboot
7. 验证安装
# 检查 CUDA 版本
nvcc --version
# 检查 NVIDIA 驱动和 CUDA 版本
nvidia-smi
安装Docker
- 更新系统包
sudo apt update
sudo apt upgrade -y
2. 安装必要依赖
sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release -y
3. 创建目录
sudo mkdir -p /etc/apt/sources.list.d
4. 添加Docker GPG密钥(使用阿里云镜像)
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
5. 添加Docker仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
6. 更新包索引
sudo apt update
7. 安装docker
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y
8. 启动并启用docker
sudo systemctl enable docker
9. 将用户添加到 docker 组
sudo usermod -aG docker $USER
10. 重新登录或刷新组权限
newgrp docker
11. 配置docker 国内镜像源
创建 Docker 配置目录
sudo mkdir -p /etc/docker
12. 配置镜像源
sudo tee /etc/docker/daemon.json > /dev/null <<EOF
{
"registry-mirrors": [
"https://docker.1panel.live",
"https://docker.1ms.run",
"https://docker.mybacc.com",
"https://dytt.online",
"https://lispy.org",
"https://docker.xiaogenban1993.com",
"https://docker.yomansunter.com",
"https://aicarbon.xyz",
"https://666860.xyz",
"https://a.ussh.net",
"https://hub.littlediary.cn",
"https://hub.rat.dev",
"https://docker.m.daocloud.io"
]
}
EOF
13. 重启docker服务
sudo systemctl daemon-reload
sudo systemctl restart docker
14. 验证docker安装
docker --version
15. 检查 Docker Compose 版本
docker compose version
16. 测试 Docker 运行
docker run --rm hello-world
安装其余软件
- 安装 Git
sudo apt install git -y
2. 安装 FFmpeg(用于 OpenAI TTS)
sudo apt install ffmpeg -y
3. 安装 Node.js 22
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
4. 安装 PNPM
该步骤安装可能会报错,由于第三步安装的问题;如上图,我们需要再执行 sudo apt install nsolid -y
sudo npm install -g pnpm
依赖安装
dify后端所需pyenv
- git拉取依赖
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
2. 配置环境变量
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
3. 重新加载配置
source ~/.bashrc
4. 设置环境变量使用国内镜像
export PYTHON_BUILD_MIRROR_URL="https://registry.npmmirror.com/binary.html?path=python/"
export PYTHON_BUILD_MIRROR_URL_SKIP_CHECKSUM=1
5. 管理安装python环境
pyenv install 3.12
sudo apt install python3-pip
6. 配置 pip 国内镜像
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
7. 安装 uv
pip install uv
ls -la ~/.local/bin/uv
8. 添加到 PATH
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
9. 重新加载配置
source ~/.bashrc
10. 验证 PATH
echo $PATH
uv --version
安装dify
- 克隆仓库
cd ~
git clone https://github.com/langgenius/dify.git
2. 进入项目目录
cd dify
3. 进入 docker 目录
cd docker
4. 复制环境变量文件
cp .env.example .env
5. 启动中间件
docker compose up -d
6. 开放端口
3000,5432,40096,6379,5001
7. 访问 Dify
http://your_server_ip/install
安装miniconda
- 下载 Miniconda 安装脚本
# 对于 Linux x86_64 系统
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh
# 如果 wget 没有安装,先安装 wget
# sudo apt-get update && sudo apt-get install wget -y
- 验证下载文件的完整性:
sha256sum ~/miniconda.sh
3. 运行安装脚本:
bash ~/miniconda.sh -b -p $HOME/miniconda
4. 初始化 conda:
echo 'export PATH="$HOME/miniconda/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
conda init bash
# 如果没有生效就重新init 再执行 source ~/.bashrc
- 配置国内镜像源(清华源):
cat > ~/.condarc << EOF
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
EOF
- 清除缓存并更新 conda:
# 清除缓存
conda clean -i
# 更新 conda
conda update -n base -c defaults conda
7. 验证安装:
# 检查 conda 版本
conda --version
# 检查配置
conda config --show
安装xinference
- 创建xinference环境
conda create -n xinference python=3.11
2. 切换环境
conda activate xinference
3. 选择transformers引擎与vllm引擎
安装比较耗时间
pip install "xinference[transformers,vllm]"
Xinference 会使用
<HOME>/.xinference作为主目录来存储一些必要的信息,比如日志文件和模型文件,其中<HOME>就是当前用户的主目录
使用XINFERENCE_MODEL_SRC="modelscope" 配置使用魔撘社区
XINFERENCE_HOME=/home/ubuntu/muyan/xinference 内容存放到指定目录
XINFERENCE_MODEL_SRC="modelscope" XINFERENCE_HOME=/home/ubuntu/test/xinference xinference-local --host 0.0.0.0 --port 9997
下载大模型、embedding、reranker模型
- 访问xinference
http://ip:9997/
- 安装qwen 0.5b
- embedding 模型
后台会报错,缺少包,直接进行安装即可.然后在进行二次部署
pip install sentence-transformers
- reranker 模型
同样会因为少包报错,pip install FlagEmbedding==1.2.11 然后重新部署
dify设置模型厂商
- 构建rag知识库
常见问题
File "/app/api/libs/rsa.py", line 58, in get_decrypt_decoding raise PrivkeyNotFoundError(f"Private key not found, tenant_id: {tenant_id}") libs.rsa.PrivkeyNotFoundError: Private key not found, tenant_id: d4dcdc6e-bba7-40d4-a7c5-defcc14d6636 dify报错
1.由于更换了部署方式,或者 api/storage/privkeys 删除导致,这个文件是用来加密大模型密钥的,因此丢失后不可逆。可以使用如下命令进行重置加密公私钥:
docker exec -it docker-api-1 flask reset-encrypt-key-pair