ubuntu22.04部署ragflow和ollama

文章目录

安装驱动和CUDA

参考下面这个链接
安装NVIDIA驱动

安装过程中可能会出现下面这个报错:

an error occurred while performing building kernel modules see /var/log/nvidia-installer.log for details. unrecognized command-line option...

原因是系统gcc版本和内核gcc版本不一致,安装gcc-12

That's an issue with the Ubuntu kernel. For whatever reasons, the ubuntu kernel team decided to use gcc-12 for kernel compilation while the 22.04 system compiler is gcc-11. Please install gcc-12 from ubuntu repo to be able to compile the nvidia modules again.

cpp 复制代码
sudo apt update
sudo apt install gcc-12 g++-12

并将gcc-12设置为默认编译器

cpp 复制代码
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 12
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 12

验证gcc版本

cpp 复制代码
gcc --version

部署ollama(本地)

打开ollama官网,选择linux,直接下载
ollama官网

下载完成之后,可以在官网下载模型,搜索你想下载的模型,复制右边的命令即可下载模型

ollama配置

需要修改ollama配置,如果不修改ragflow没办法访问到ollama

由于默认ollama绑定在127.0.0.1的11434端口,其他IP都拒绝

使用docker只能访问到自己不能访问到宿主机上,所以需要将ollama服务暴露给网络

方法修改如下文件:

复制代码
vim /etc/systemd/system/ollama.service

在[Service]下继续添加如下内容,使ollama绑定到0.0.0.0的11434端口

复制代码
Environment="OLLAMA_HOST=0.0.0.0"

填入的基础URL为

复制代码
http://host.docker.internal:11434/

参考链接
ragflow无法访问ollama

解决linux中待机时间过长导致ollama回退到cpu处理模式的问题

笔记本电脑挂起恢复

在 Linux 上,经过一次挂起/恢复周期后,有时 Ollama 会无法发现你的 NVIDIA GPU,并回退到在 CPU 上运行。你可以通过重新加载 NVIDIA UVM 驱动来解决这个驱动程序错误,命令为 sudo rmmod nvidia_uvm && sudo modprobe nvidia_uvm。

出现这个问题后,复制下面四条命令重启ollama即可

The 999 error is a generic "unknown error" code, which isn't super helpful.

What happens if you try removing the uvm module:

cpp 复制代码
sudo systemctl stop ollama
sudo rmmod nvidia_uvm
sudo modprobe nvidia_uvm
sudo systemctl start ollama

如何找到这个问题呢,停止ollama然后重新启动ollama就会有log出来

bash 复制代码
sudo systemctl stop ollama
ollama serve

会有这些log出来,说明GPU找不到了,所以ollama又使用cpu来跑模型了

bash 复制代码
msg="unknown error initializing cuda driver library /usr/lib/x86_64-linux-gnu/libcuda.so.550.144.03: cuda driver library init failure: 999"
msg="no compatible GPUs were discovered"
msg="inference compute" id=0 library=cpu variant=avx2

解决方法参考链接
Unknown error initializing cuda driver library

部署ragflow(docker)

搜索ragflow,在github上面clone下来

bash 复制代码
git clone https://github.com/infiniflow/ragflow.git

ragflow有两个镜像版本,一个迷你版,一个完整版,推荐下载完整版本

如果要下载完整版本,打开ragflow/docker/.env,把完整版本取消注释,slim版本注释

然后执行下面这条命令即可拉取镜像

bash 复制代码
docker compose -f docker-compose.yml up -d

完成后,在浏览器输入0.0.0.0即可打开ragflow的网页

加入ollama里的模型

ollama list,复制模型名字

如图填即可

相关推荐
春日见15 小时前
丝滑快速拓展随机树 S-RRT(Smoothly RRT)算法核心原理与完整流程
人工智能·算法·机器学习·路径规划算法·s-rrt
陈文锦丫17 小时前
MixFormer: A Mixed CNN–Transformer Backbone
人工智能·cnn·transformer
小毅&Nora18 小时前
【人工智能】【AI外呼】系统架构设计与实现详解
人工智能·系统架构·ai外呼
jianqiang.xue18 小时前
别把 Scratch 当 “动画玩具”!图形化编程是算法思维的最佳启蒙
人工智能·算法·青少年编程·机器人·少儿编程
Coding茶水间19 小时前
基于深度学习的安全帽检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
图像处理·人工智能·深度学习·yolo·目标检测·计算机视觉
weixin79893765432...20 小时前
Vue + Express + DeepSeek 实现一个简单的对话式 AI 应用
vue.js·人工智能·express
nju_spy20 小时前
ToT与ReAct:突破大模型推理能力瓶颈
人工智能·大模型·大模型推理·tot思维树·react推理行动·人工智能决策·ai推理引擎
AI-智能20 小时前
别啃文档了!3 分钟带小白跑完 Dify 全链路:从 0 到第一个 AI 工作流
人工智能·python·自然语言处理·llm·embedding·agent·rag
y***866920 小时前
C机器学习.NET生态库应用
人工智能·机器学习
deng120421 小时前
基于LeNet-5的图像分类小结
人工智能·分类·数据挖掘