目录
Nvidia-Driver
CUDA
NVIDIA Container Toolkit(新版本的docker不用安装,自带)
Docker 部署GPUStack
Text Embeddings
部署模型库模型
测试
部署开源模型(modelscope)
dify 集成
RAGflow集成
Nvidia-Driver
查看操作系统
lsb_release -a
安装内核头文件和开发包
sudo apt install linux-headers-$(uname -r)
安装contrib库
sudo add-apt-repository contrib
下载驱动报错
使用清华或者阿里镜像也报错
查看后发现,国内镜像站基本上都下线了相关驱动
官网下载
官网也更新了不是以前的样式,更加精细了
注册临时GPG共有密钥
sudo cp /var/nvidia-driver-local-repo-debian12-570.124.06/nvidia-driver-local-BF654014-keyring.gpg /usr/share/keyrings/
安装本地仓库
sudo dpkg -i nvidia-driver-local-repo-debian12-570.124.06_1.0-1_amd64.deb
更新apt
sudo apt update
专有内核模块安装
sudo apt -V install cuda-drivers
安装成功如下
如果出现如下情况:NVIDIA驱动内核模块(如nvidia.ko)的版本与用户空间库(如libnvidia-ml.so)的版本不一致
第一步建议先重启,再次运行nvidia-smi 如果可以那就结束
第二步 卸载相关的包 清除不需要的旧包 然后也要重启
sudo apt purge nvidia-* libnvidia-*
sudo apt autoremove
reboot
第三步 禁用Nouveau驱动,因为Nouveau是开源的NVIDIA驱动,可能与官方的NVIDIA专有驱动冲突,导致无法正常加载。
sudo nano /etc/modprobe.d/blacklist-nouveau.conf
添加如下内容
blacklist nouveau
options nouveau modeset=0 # 禁用 Nouveau 内核模式设置
初始化内存盘 然后重启
sudo update-initramfs -u
reboot
第四步 重新安装相关组件
第五步
首先要检查下载的驱动是否真的版本正确
然后 安装本地仓库
sudo dpkg -i nvidia-driver-local-repo-debian12-570.124.06_1.0-1_amd64.deb
更新apt
sudo apt update
安装驱动
sudo apt install cuda-drivers
重启
验证成功
CUDA
下载GPG密钥
wget https://developer.download.nvidia.com/compute/cuda/repos/debian12/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
启用CUDA仓库
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/cuda-archive-keyring.gpg] https://developer.download.nvidia.com/compute/cuda/repos/debian12/x86_64/ /" > /etc/apt/sources.list.d/cuda.list'
更新apt
sudo apt update
安装CUDA工具包
sudo apt install cuda
修改环境变量并验证是否成功
vim ~/.bashrc
#最下方添加如下
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
#更改生效
source ~/.bashrc
NVIDIA Container Toolkit(新版本的docker不用安装,自带)
获取GPG密钥
添加nvidia container toolkit 的 apt源
这里出现了一个未识别的问题,需要进入/etc/apt/sources.list.d/nvidia-container-toolkit.list 手动修改
首先 查看系统架构
x86_64 则修改$(ARCH) 为 amd64
更新一下update
安装nvidia-container-toolkit
sudo apt install nvidia-container-toolkit
Docker 部署GPUStack
拉取镜像
sudo docker pull gpustack/gpustack
创建容器 要将容器内80映射出来,这是GPUStack的默认端口
sudo docker run -d --name gpustack_new --restart=unless-stopped --gpus all --ipc=host -v /mnt/gpustack-data:/var/lib/gpustack -p 9999:80 -p 6666:6666 100cbe8041b7
获取密码
docker exec -it gpustack_new cat /var/lib/gpustack/initial_admin_password
浏览器进入 账号为admin 密码为qK#CH@qayoC6
进入容器
docker exec -it gpustack_new /bin/bash
对话测试
gpustack chat llama3.2 "tell me a joke."
Text Embeddings
部署模型库模型
测试
python测试代码
import os
import requests
# 从环境变量读取配置(建议在终端提前设置)
SERVER_URL = "http://192.168.199.126:9999/"
API_KEY = "你的API_KEY"
# 构造请求头
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
# 请求数据体
payload = {
"input": "The food was delicious and the waiter...",
"model": "bge-m3",
"encoding_format": "float" # 可选 "base64" 压缩传输
}
try:
# 发送 POST 请求
response = requests.post(
url=f"{SERVER_URL}/v1-openai/embeddings",
headers=headers,
json=payload,
timeout=10 # 建议设置超时
)
# 检查 HTTP 状态码
response.raise_for_status()
# 解析响应
result = response.json()
print("Embedding 向量长度:", len(result['data'][0]['embedding']))
print("完整响应:", result)
except requests.exceptions.RequestException as e:
print(f"请求失败: {str(e)}")
if hasattr(e, 'response') and e.response is not None:
print(f"错误详情: {e.response.text}")
部署开源模型(modelscope)
直接输入模型名字就可以搜索,可以部署多个副本,增强效率,目前部署7个
dify 集成
点击自己头像进入设置
RAGflow集成
点击自己头像进入
构建知识库的时候就可以选择使用本地部署的分词模型了