因为ollama不支持Reranker重排序模型,所以又开始另一顿瞎折腾,然后就找到GPUStack了。
1.安装NVIDIA驱动及配置docker运行时
# 验证当前环境是否有 NVIDIA GPU 硬件
lspci | grep -i nvidia# 验证系统是否已安装GCC
gcc --version
# 安装GCC
#sudo apt-get update
#sudo apt-get install build-essential
#gcc --version# 安装 NVIDIA 驱动
# 1.为当前内核安装内核头文件和开发包:
sudo apt-get install linux-headers-$(uname -r)
# 2.安装cuda-keyring包(版本看自己的https://developer.download.nvidia.cn/compute/cuda/repos)
# 查询ubuntu版本
# lsb_release -a
# 这里是ubuntu2404/x86_64版本
wget https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
# 3.安装 NVIDIA 驱动
sudo apt-get update
sudo apt-get install nvidia-open -y
# 重启系统
sudo reboot
# 查看驱动信息
nvidia-smi# 安装 NVIDIA Container Toolkit
# 1.配置 NVIDIA Container Toolkit 的生产仓库
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list# 2.安装 NVIDIA Container Toolkit
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit -y# 使用nvidia-ctk命令配置容器运行时
sudo nvidia-ctk runtime configure --runtime=docker
# 查看daemon.json文件信息
cat /etc/docker/daemon.json
# 重启docker
sudo systemctl restart docker
2.GPUStack部署
- docker-compose.yaml
docker-compose方便些,直接参考官网用docker run命令运行也行
端口的话有需要就自己配置,默认80。因为我80已经给ragflow了,所以改用81。version: '3.8'services:gpustack:image: gpustack/gpustackcontainer_name: gpustackrestart: unless-stoppedports:- "81:80"# - "10150:10150"# - "40000-41024:40000-41024"# - "50000-51024:50000-51024"ipc: host #设置为host以共享宿主机的IPC命名空间volumes:- ./data:/var/lib/gpustack #挂载路径自己看着来deploy: # 定义部署时的资源限制。这里指定了使用所有可用的 NVIDIA GPUresources:reservations:devices:- driver: nvidiacount: all #指定gpu个数,all则为全部capabilities: [gpu]
- 运行GPUStack并获取初始化密码
# 启动 docker-compose up -d # 查看运行状态 docker ps|grep gpustack # 打印日志 docker logs -f gpustack # 正常运行的话,就获取一下初始化密码 docker exec -it gpustack cat /var/lib/gpustack/initial_admin_password
3.访问GPUStack并部署模型
-
GPUStack是一个专为运行大语言模型(LLM)设计的开源GPU集群管理器。具体特点和功能直接官网查看,简单罗列下
- 支持文本、图像、语音大模型
- 支持LLM、Embedding、Reranker
- 支持 HuggingFace、Ollama Library、ModelScope 和私有模型仓库部署模型
- 支持 vLLM 和 llama-box 推理后端
-
访问localhost:81
- 登录并修改密码:admin账号、密码为上一步获取到的初始化密码。进去之后会提示修改密码。
-
部署模型:选择自己想要的模型,点击保存即可自动下载并启动,可以在模型菜单处查看。(国内推荐用ModelScope)
-
配置gpustack的api密钥:记得把密钥复制出来保存后面要用到
4.ragflow中添加gpustack模型
- 获取访问url:直接在gpustack试验场菜单下选择自己需要添加的模型,点击右上角【代码查看】可以看到访问api的url
- 模型提供商处找到GPUStack进行添加
因为我已经配置过了,页面没找到可以查看信息的,直接数据库看数据吧
- 模型提供商处找到GPUStack进行添加
好了,这样就集成进去了。