当前位置: 首页 > news >正文

本地大模型、本地embeding、本地数据库、本地RAG Flow搭建方式——从显卡驱动开始

RAGFlow是一个大模型应用的大趋势,所以我打算本地搭建一个RAGFlow和配套的本地大模型。

我的配置清单

  • RTX 5080 16 GB

  • 48 GB 内存

  • Ubuntu 24.04

显卡驱动

确认显卡型号

打开终端,输入以下命令查看你的 NVIDIA 显卡型号(我的显卡是RTX5080):

lspci | grep -i nvidia

查看推荐的驱动版本

ubuntu-drivers devices

更新apt库

sudo apt update && sudo apt upgrade -y

安装推荐的驱动

由于我尝试了官网安装、nvidia-driver-580的不open版本,都不能正常加载——且不是secure boot的问题,所以我这里还是推荐直接nvidia-driver-580-open,当然想试试还是可以试试的。

sudo apt install nvidia-driver-580-open

禁用Nouveau

禁用 Nouveau 驱动 是安装 NVIDIA 官方驱动前必须完成的一步,因为它是 Ubuntu 自带的开源 NVIDIA 驱动,会与官方驱动冲突,导致黑屏、驱动加载失败等问题。

sudo gnome-text-editor /etc/modprobe.d/blacklist-nouveau.conf

添加以下内容:

blacklist nouveau
options nouveau modeset=0

更新 initramfs

sudo update-initramfs -u

重启并测试

sudo reboot
#启动后查看
#前者应该看不到nouveau,后者应该看到nvidia驱动信息
lsmod | grep nouveau
nvidia-smi

secure boot注册

如果可以接受bios里面关掉secure boot那么本节可以忽略,如果想手动签名一下驱动相关ko,参考我的另一篇博客

https://blog.csdn.net/Mr_liu_666/article/details/154099770?spm=1001.2014.3001.5502

安装docker

由于我们的RAGFlow打算用docker版本,所以需要首先安装docker

有的教程会推荐换源到阿里云,部分时刻阿里云会限速到30K,我这里推荐腾讯云。

安装docker本体和docker的compose插件

# 1. 装依赖
sudo apt update && sudo apt -y install apt-transport-https ca-certificates curl gnupg# 2. 下载 **Docker 官方** GPG 密钥(腾讯云镜像也提供同一文件)
sudo curl -fsSL https://mirrors.cloud.tencent.com/docker-ce/linux/ubuntu/gpg \| sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/docker.gpg# 3. 添加 **腾讯云** apt 源(noble = 24.04)
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/trusted.gpg.d/docker.gpg] \
https://mirrors.cloud.tencent.com/docker-ce/linux/ubuntu \
noble stable" | sudo tee /etc/apt/sources.list.d/docker.list# 4. 装最新版
sudo apt update
sudo apt -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

验证

docker --version          # 24.x+
docker compose version    # v2.29+

ollama

通俗的说:Ollama是一个大模型管理工具,提供了大模型到人、大模型到RAGFlow的接口。

Ollama是一个支持跨平台部署的开源大语言模型(LLM)管理工具,提供本地模型运行、云端模型调用及开发者友好的API接口,适用于代码补全、智能问答等场景。

Ollama核心功能与应用场景

  • 跨平台支持‌:支持Windows/macOS/Linux系统,提供云端模型(如gpt-oss、deepseek-v3.1等)与本地私有模型的混合部署。‌‌1‌‌2
  • 开发集成‌:通过REST API(默认端口11434)与Spring Boot等技术栈无缝对接,支持代码补全、问答系统构建。‌‌3‌‌4
  • 模型管理‌:内置Modelfile格式统一管理模型权重与配置,支持热加载切换模型。‌‌3

下载ollama

# 下载官方脚本并替换下载地址为国内镜像
curl -fsSL https://ollama.com/install.sh | \
sed 's|https://github.com/ollama/ollama/releases/download|https://mirror.ccs.tencentyun.com/ollama/releases/download|g' | \
sh

关于更新

程序:Win/Mac 默认自动升级,Linux 需手动。
模型:永不自动更新;想换新版,主动 ollama pull <模型名> 即可。

使用ollama下载大模型

根据我的配置:

  • RTX 5080 16 GB

  • 48 GB 内存

  • 新装 Ubuntu 24.04

选型

我选择了Gemma-3:12b-8bit量化 ,量化体积 8 GB ,显存占用9–11 GB,Google 最新,特点是128 k 上下文,速度快,适合场景是长文总结、翻译、高并发 API 。

开启python虚拟环境

由于需要安装modelscope,pip不能直接安装到本地,所以先建立一个python的虚拟环境,可能提示python3需要再下载一个虚拟环境版本,按照提示下载就好了:

# 1. 创建 venv
python3 -m venv ~/venv-ms
# 2. 激活
source ~/venv-ms/bin/activate

启动后命令行会出现括号,在虚拟环境里面安装工具和下载。

下载阿里云镜像的大模型

# 安装下载工具
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -U modelscope# 一次性拉取 Q8_0 单文件(12.5 GB)
modelscope download \--model=bartowski/google_gemma-3-12b-it-GGUF \--local_dir ./gemma3-q8 \--include="google_gemma-3-12b-it-Q8_0.gguf"

编写 Modelfile(锁定参数,后续不更新)

num_ctx 是 Ollama 在加载模型时 一次性给 Transformer 开的“上下文窗口”大小,单位是 token。num_ctx可根据任务调到 16384 

temperature 选0.3降低幻觉,想创造力高,就0.7

cat > Modelfile <<'EOF'
FROM "./gemma3-q8/google_gemma-3-12b-it-Q8_0.gguf"
TEMPLATE """<bos><start_of_turn>user
{{ if .System }}{{ .System }}{{ end }}{{ .Prompt }}<end_of_turn>
<start_of_turn>model
{{ .Response }}<end_of_turn>
"""
PARAMETER stop <end_of_turn>
PARAMETER num_ctx 8192
PARAMETER temperature 0.3
EOF

导入 Ollama 并启动

# 创建本地模型(永不随官方库更新)
ollama create gemma3-12b-q8 -f Modelfile# 首次验证
ollama run gemma3-12b-q8 \--prompt "用三句话总结量子计算的核心思想。"

测试大模型是否正常

我在商用大模型(也就是671b)上,要求给出一个本地的LLM的测试用例:

原始段落(验证用)
2019 年 3 月 14 日,全球市值第 3 的微软宣布以 75 亿美元全现金收购代码托管平台 GitHub;由于后者 2018 年营收仅 3 亿美元且连亏 3 年,外界普遍质疑价格过高,但微软 CEO 纳德拉坚称“这将加速我们的云战略”,交易在 2018 年 10 月 25 日已获双方董事会通过,仅待欧盟反垄断批准即可在 2019 年夏完成交割,届时 GitHub 将保持独立运营,其 2800 万开源仓库和 3100 万开发者数据全部迁入 Azure,成为微软对抗 AWS 的第 4 张王牌。
合格摘要(供对比)
微软 2019-3-14 宣布 75 亿美元现金收购连亏 3 年的 GitHub,2019 夏交割后保持独立,2800 万仓库接入 Azure,补强云战略以对抗 AWS。

以下是我的测试结果,看起来不错,671b评价了本地LLM的总结“58 字,数字全对,时间、金额、仓库/开发者量级都没错,也点出了“云战略+抗 AWS”的核心动机——满分。”

ollama run gemma3-12b-q8 "总结下面的内容,重点是数字别搞错,60字以内:2019 年 3 月 14 日,全球市值第 3 的微软宣布以 75 亿美元全现金收购代码托管平台 GitHub;由于后者 2018 年营收仅 3 亿美元且连亏 3 年,外界普遍质疑价格过高,但微软 CEO 纳德拉坚称“这将加速我们的云战略”,交易在 2018 年 10 月 25 日已获双方董事会通过,仅待欧盟反垄断批准即可在 2019 年夏完 成交割,届时 GitHub 将保持独立运营,其 2800 万开源仓库和 3100 万开发者数据全部迁入 Azure,成为微软对抗 AWS 的第 4 张王牌。"
2019年3月,微软以75亿美元全资收购代码托管平台GitHub。尽管GitHub 2018年仅有3亿美元营收,微软仍寄希望于此加速云战略,并将其2800万开源仓库和3100万开
发者数据迁移至Azure,助力对抗AWS。

RAGFlow安装

配置环境

# 1. 放大 mmap 计数,否则 ES 启动报错
sudo sysctl -w vm.max_map_count=262144
# 建议写进 /etc/sysctl.conf 永久生效

下载RAGFlow

我是github界面

mkdir -p ~/ragflow && cd ~/ragflow

修改配置,使docker可以访问显卡

docker不配置是不能访问显卡的,所以验证一下是否配置过,然后进行配置。

验证方法

# 1. 验证驱动
nvidia-smi
# 需能看到 GPU 名称、驱动版本 ≥ 470# 2. 验证 Docker 能调用 GPU
docker run --rm --gpus all nvidia/cuda:12.1-base nvidia-smi
# 同样出现 GPU 列表即 OK

配置系统,使得docker可以访问显卡

nvidia-docker(现在叫 NVIDIA Container Toolkit)做了两件事

  • 把宿主机的 NVIDIA 驱动“挂载”进容器(字符设备 /dev/nvidia*、内核模块接口)。

  • 把宿主机装好的 CUDA 用户态库(libcuda.so、libnvidia-ml.so 等)自动 bind-mount 到容器内部对应路径,版本与宿主机驱动严格匹配。

结果:容器里不需要再装任何驱动,就能调用 CUDA、cuDNN、OpenGL、OptiX 等全套 GPU 功能。

以下方法可以试试,但是我遇到了“

E: 无法定位软件包 nvidia-container-toolkit

# 1 安装 NVIDIA Container Toolkit
sudo apt install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

如果你也遇到了在个问题,可以直接去https://github.com/NVIDIA/libnvidia-container/releases下载4个deb,安装了就好了

libnvidia-container1_1.15.0-1_amd64.deb
libnvidia-container-tools_1.15.0-1_amd64.deb
nvidia-container-toolkit-base_1.15.0-1_amd64.deb
nvidia-container-toolkit_1.15.0-1_amd64.deb

安装

#拷到目标机空目录,一次性装:
sudo dpkg -i *.deb

注册和重启和验证

sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
docker run --rm --gpus all nvidia/cuda:12.4.1-base-ubuntu22.04 nvidia-smi

修改RAGFlow配置

cd ~/ragflow/docker
grep -q ^DEVICE=gpu .env || sed -i '1i DEVICE=gpu' .env
# 镜像用带嵌入模型的 full-GPU 版
grep -q ^RAGFLOW_IMAGE=.*v0.21.1$ .env || \sed -i 's/RAGFLOW_IMAGE.*/RAGFLOW_IMAGE=infiniflow\/ragflow:v0.21.1/' .env

启动RAGFlow

在ragflow-main/docker目录下

sudo docker compose -f docker-compose.yml up -d

查看log

docker logs -f docker-ragflow-gpu-1

访问网页

http://127.0.0.1/login

监控系统状态

ollama、RAGFlow跑起来的时候,我希望查看CPU、GPU的占用率、内存、显存的占用率,CPU\GPU温度,所以给出以下方法查看系统状态:

显卡、CPU、内存、显存监控

nvitop工具,有图形化界面。但是看到pip我们就知道必须venv了。

# 先装工具
pip install nvitop
# 运行
nvitop

CPU、GPU的利用率、温度以及风扇情况监控

sudo apt install psensor
psensor &

一些调试时的常用命令

docker命令

# 看日志(排错第一步)
docker logs -f --tail 200 <container># 实时刷新资源占用
docker stats --no-stream# 进入容器内部 bash
docker exec -it <container> bash# 一键看所有端口映射
docker ps --format "table {{.Names}}\t{{.Ports}}"# 把宿主文件拷进容器(临时打补丁)
docker cp ./my.patch <container>:/app/# 修改向量库密码
docker exec -it docker-es01-1 bash
bin/elasticsearch-reset-password -u elastic -i

RAGFlow配置

# 1) 启动
docker compose -f docker-compose.yml up -d 
# 2) 看各组件健康状态
docker compose ps      
docker logs ragflow-server -f --tail 100 # 3) 确认向量库是否连上
curl -u elastic:infini_rag_flow -X GET localhost:1200/_cluster/health?pretty

ollama命令

# 看版本 / 升级
ollama --version
curl -fsSL https://ollama.ai/install.sh | sh        # Linux 一键重装# 拉模型 & 立即跑交互
ollama pull llama3:8b
ollama run llama3:8b# 列出本地已有
ollama list
ollama ls          # 简写# 看模型详细信息(参数、量化、上下文长度)
ollama show llama3:8b --modelfile# 验证 API 通不通
curl http://localhost:11434/api/tags
curl http://localhost:11434/api/generate -d '{"model":"llama3:8b","prompt":"hello"}'

http://www.dtcms.com/a/561304.html

相关文章:

  • 10-神经网络的工作原理:分析神经网络如何学习和推理
  • 无锡做网站的公司网站业务员怎么给客户做方案
  • HarmonyOS Divider组件深度定制:从基础分割到高级视觉表达
  • 外包公司做的网站怎么改密码光辉网络 石家庄网站建设
  • 一道面试高频题:如何判断完全二叉树?
  • 使用Stream API重构你的数据处理
  • ps做网站首页怎么广州公共资源交易
  • discuz 门户网站模板物联网今天正式开网
  • python数据分析学习路线及生态
  • 【Unity踩坑】Unity测试用例命名空间错误解决方案
  • 美日股票数据API对接实战指南
  • 【Android FrameWork】第二天:认识Skia
  • 用dw做网站首页视觉营销网站建设规划分析
  • Spring Security安全框架原理与实战
  • 不用js可以做网站吗黄页88
  • 配置镜像仓库镜像(Registry Mirror)的指南
  • 25套科技商务风PPT模板合集,多场景适配专业演示(PPTX格式)
  • 网站内容收费专业网站定制报价
  • 跟der包学习java_day5「数组(Array)」
  • lerobot框架部署act模型
  • 用织梦搭建网站外贸网站建设报价
  • 【软考架构】案例分析-web应用设计:SSH 和 SSM(Spring + Spring MVC + MyBatis ) 之间的区别,以及使用场景
  • 天津做网站的公司怎么样东莞全网合一网站
  • ☆☆FPGA图像处理算法开发学习教程——总目录
  • Nestjs框架: 微服务项目工程结构优化与构建方案
  • 佛山建网站的公司泰安房地产信息网官网
  • 重庆—阿尔及利亚南通道铁海联运线路首发
  • 八股训练营第 4 天 | HTTP1.0 和 HTTP1.1 的区别?HTTP2.0 与 HTTP1.1 的区别?HTTP3.0 有了解过吗?
  • 全球搜和外贸快车哪个好厦门seo传播
  • 给传销产品做网站班级优化大师免费下载学生版