【GPUStack】【dify】【RAGflow】:本地部署GPUStack并集成到dify和RAGflow

news2025/3/31 1:24:59

目录

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集成

点击自己头像进入

构建知识库的时候就可以选择使用本地部署的分词模型了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2322977.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

逼用户升级Win11,微软开始给Win10限速

随着Windows10的支持时间越来越短,微软也加大了对Win10用户的驱赶力度。 最近,微软官宣了将要在今年6月份降低OneNote for Windows 10的同步速度。软件也将和Windows10在今年的10月14日一同停止支持和维护。 这将影响实时协作和多设备访问。 对OneNote…

HarmonyOs-ArkUI List组件

列表是一个复杂的容器,当列表项达到一定数量,使得列表内容超出其范围的时候,就会自动变为可以滚动。列表适合用来展现同类数据类型。 List组件支持使用,条件渲染,循环渲染,懒加载等渲染控制方式生成子组件…

基于YOLOv8深度学习的PCB缺陷检测识别系统【python源码+GUI界面+数据集+训练代码+登录界面】

目录 一、界面全貌展示 二、前言摘要 三、GUI界面演示 (一)用户加载自定义模型 (二)单张图像检测 (三)检测图像文件夹 (四)检测视频 (五)摄像头检测 …

鸿蒙生态圈暗战:数字孪生三强争霸谁将主宰消费电子未来?

IDC数据显示,2025年Q1华为以38.7%份额领跑中国折叠屏市场,Pura X首月销量突破120万台。这款搭载HarmonyOS 5的旗舰,通过灵犀通信技术实现5G A网络下载速率提升30%,并在离线环境下完成厘米级导航。其爆款逻辑背后,是鸿蒙…

react 15-16-17-18各版本的核心区别、底层原理及演进逻辑的深度解析

一、React 15(2016) 核心架构:Stack Reconciler(栈协调器) 工作原理: 同步递归渲染:采用深度优先遍历方式递归处理 Virtual DOM,形成不可中断的调用栈渲染流程:1. 触发 …

CMS迁移中SEO优化整合步骤详解

内容概要 在CMS迁移过程中,系统化的规划与执行是保障SEO排名稳定性的核心。首先需明确迁移流程的关键阶段,包括数据备份、URL适配、元数据同步及安全配置等环节。其中,数据备份不仅需覆盖原始数据库与静态资源,还需验证备份文件的…

数据结构初阶-二叉树链式

目录 1.概念与结构 2.二叉数链式的实现 2.1遍历规则 2.2申请内存空间 2.3手动构建一棵二叉树 2.4二叉树结点的个数 2.5二叉树叶子结点的个数 2.6二叉树第K层结点个数 2.7二叉树的高度 2.8二叉树中查找值为x的结点 2.9二叉树的销毁 3.层序遍历 3.1概念 3.2层序遍历…

Springboot 集成 Flowable 6.8.0

1. 创建 Spring Boot 项目 通过 Spring Initializr(https://start.spring.io/ )创建一个基础的 Spring Boot 项目,添加以下依赖: Spring WebSpring Data JPAMySQL DriverLombok(可选,用于简化代码&#x…

协作机械臂需要加安全墙吗? 安全墙 光栅 干涉区

安全墙是什么 文章目录 安全墙是什么简介1. 物理安全墙1.1 定义:1.2 作用机制:1.3 应用场景: 2. 虚拟安全墙2.2 定义:2.3 作用机制:2.3 应用场景: 3. 安全毛毯3.1 工作原理:3.2 特点3.3 应用场景…

springboot+mybatisplus

1.什么是springboot? Spring Boot是一个用于快速构建Spring应用程序的框架。它旨在帮助开发人员快速搭建Spring框架,减少配置和繁琐的工作。Spring Boot继承了原有Spring框架的优秀基因,使Spring在使用中更加方便快捷。 在Spring Boot中集成ActiveMQ,需要导入相应的starter…

《TypeScript 面试八股:高频考点与核心知识点详解》

“你好啊!能把那天没唱的歌再唱给我听吗? ” 前言 因为主包还是主要学习js,ts浅浅的学习了一下,在简历中我也只会写了解,所以我写一些比较基础的八股,如果是想要更深入的八股的话还是建议找别人的。 Ts基…

SICAR 标准 KUKA 机器人标准功能块说明手册

功能块名称:LSicar_Robot_KUKA_PrD 目录 1. 概述 2. 功能说明 2.1 程序控制 2.2 状态监控 2.3 报警与故障处理 2.4 驱动控制 3. 关键参数说明 4. 操作步骤指南 4.1 初始化配置 4.2 运行控制 4.3 状态监控 5. 常见故障处理 6. 注意事项 附录1:程序段索引 附录…

linux中如何修改文件的权限和拥有者所属组

目录标题 chmod指令八进制形式权限修改文件拥有者所属组的修改umask有关内容 chmod指令 chmod指令可以用来修改人员的权限其形式如下: u代表的是拥有者,g代表的是所属组,o代表的是其他人,a表示所有人,如果你想增加权…

掌握Linux项目自动化构建:从零入门make与Makefile

文章目录 前言: 一、初识自动化构建工具1.1 什么是make/Makefile?1.2 快速体验 二、深入理解核心机制2.1 依赖关系与依赖方法2.2 伪目标的妙用2.3 具体语法a.makefile的基本雏形b.makefile推导原则! 三、更加具有通用型的makefile1. 变量定义…

Jenkins 配置python项目和allure

Jenkins新建项目 新建ry-api-auto-test。 添加项目描述,选择gitee令牌。 源码管理,设置仓库地址和凭证。参考我上一篇文章的链接:配置gitee私人令牌和凭证 构建步骤,因为我Jenkins部署在Windows,因此选择batch。…

vue3:十一、主页面布局(进入指定菜单页面,默认锁定到左侧菜单)

一、效果 直接进入home页面,直接展开对应的菜单项 二、具体实现 1、菜单容器增加默认选中变量 在菜单容器中将默认展开菜单default-openeds修改为默认选中菜单default-active 2、引入useRoute方法 引入该方法为了获取当前页面的路径 import { useRoute } from …

【蓝桥杯】每日练习 Day13

前言 今天做了不少题,但是感觉都太水了,深思熟虑之下主播决定拿出两道相对不那么水的题来说一下(其实还是很水)。 两道问题,一道是日期问题(模拟),一道是区间合并问题。 日期差值 …

【Docker系列七】Docker Compose 命令详解

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

【AI学习】Transformer 模型

1,概念 是一种基于自注意力机制(Self-Attention Mechanism)的深度学习架构,在自然语言处理、计算机视觉等多个领域都有着极为重要的应用。 2,基本结构 1)编码器(Encoder) 通常由多个相同的编码器层堆叠而成。 每个编码器层包含了多头自注意力机制、前馈神经网络以及…

大数据学习栈记——HBase操作(shell java)

本文介绍HBase在shell终端的常见操作以及如何利用java api操作HBase,操作系统:Ubuntu24.04 参考: https://blog.51cto.com/u_16099228/8016429 https://blog.csdn.net/m0_37739193/article/details/73618899 https://cloud.tencent.com/d…