侧边栏壁纸
博主头像
小新笔记坊

笔耕学思悟,细绘生活卷。

  • 累计撰写 54 篇文章
  • 累计创建 24 个标签
  • 累计收到 66 条评论

目 录CONTENT

文章目录

CentOS本地部署语言模型

小新笔记坊
2025-02-12 / 2 评论 / 0 点赞 / 68 阅读 / 0 字 / 正在检测是否收录...

部署环境

操作系统:CentOS Linux release 8.2.2004

显卡:GTX1060

内存:16GB

整体架构

[用户]
    |
    v
[WAF防火墙]
    |
    v
[OpenWebUI (前端)]
    |
    v
[Dify (生成式AI应用创新引擎)]
    |
    v
[Ollama (后端)]
    |
    v
[结果]

安装步骤

安装英伟达显卡驱动

1.下载英伟达显卡驱动包,并上传服务器。

2.安装相关依赖库。

yum -y install gcc kernel-devel kernel-headers
yum install elfutils-libelf-devel

3.查看安装后源码版本是否和内核一致

ls /boot | grep vmlinu
rpm -aq |grep kernel-devel

2.屏蔽linux系统自带的开源英伟达显卡驱动nouveau。编辑/lib/modprobe.d/dist-blacklist.conf文件。

#---使用"#"注释以下语句以进行屏蔽---
#blacklist nvidiafb
#---追加以下语句---
blacklist nouveau
options nouveau modeset=0

2.重建initramfs image

mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak

注:将文件名包含内核版本号的initramfs镜像文件重命名为 .bak 后缀,用于备份原文件。

dracut /boot/initramfs-$(uname -r).img $(uname -r)

注:使用dracut创建一个新的initramfs镜像文件,其名称仅基于内核版本号,而非完整镜像文件名。

3.修改运行级别为文本模式。

systemctl set-default multi-user.target

4.重启。

5.查看nouveau是否禁用成功,如提示”没有文件或目录“即为禁用成功。

ls mod | grep nouveau

6.进入上传的英伟达显卡驱动目录,赋予英伟达显卡驱动可执行权限。

chmod +x 驱动文件名.run

7.执行,全部选yes。执行过程中的报错一定要处理完!

./驱动文件名.run

8.验证。

lspci | grep -i nvidia
nvidia-smi
watch -n 0.5 nvidia-smi

9.安装pip

sudo dnf install python3

安装CUDA

1.通过执行nvidia-smi指令查看显卡驱动所能支持的cuda最大版本。例如本机CUDA Version: 12.4Driver Version: 550.144.03 ,说明cuda最大支持12.4版本。安装CUDA 12.4以下版本适配的torch库。

2.去网站寻找与PyTorch适配的版本。查看cuda和哪个PyTorch版本匹配。例如本机与PyTorch适配的cuda版本应为12.4

#查看cuda和显卡驱动版本是否匹配
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
#查看PyTorch版本
https://pytorch.org/get-started/locally/

3.根据之前查到的适合本机的cuda版本,下载适合本机的cuda,本机为CUDA 12.4

#下载cuda
https://developer.nvidia.com/cuda-toolkit-archive
#查询到的适合本机显卡的cuda 12.4
wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda-repo-rhel7-12-4-local-12.4.0_550.54.14-1.x86_64.rpm
sudo rpm -i cuda-repo-rhel7-12-4-local-12.4.0_550.54.14-1.x86_64.rpm
sudo yum clean all
sudo yum -y install cuda-toolkit-12-4

4.验证是否安装成功。

ls /usr/local/cuda-*
/usr/local/cuda-12.4/bin/nvcc --version

5.配置环境变量。编辑/etc/profile文件,追加以下内容。

export CUDA_HOME=/usr/local/cuda-12.4
export PATH="${CUDA_HOME}/bin:$PATH"

6.验证环境变量是否生效。

source /etc/profile
nvcc --version
${CUDA_HOME}/bin/nvcc --version

安装NVIDIA Container Toolkit

注:允许容器调用宿主机显卡。

1.设置存储库和GPG密钥。

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
   && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.repo | sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo

2.更新列表。

sudo yum clean expire-cache

3.安装NVIDIA Container Toolkit

sudo yum install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

4. 测试。

sudo docker run --rm --runtime=nvidia --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi

安装PyTorch

1.通过网站查询到适合本机cuda匹配的PyTorch后,生成pip安装指令,执行后将生成链接拷出下载(速度快)。

#查询到的适合本机显卡的PyTorch
pip3 install torch torchvision torchaudio

2.上传下载后的文件,例如torch-1.10.2-cp36-cp36m-manylinux1_x86_64.whl,并安装。

pip3 install *.whl

3.验证PyTorch版本。

python3 -c "import torch; print(torch.version.cuda); print(torch.cuda.is_available())"

4.输入python3进入python环境,然后验证PyTorch是否启用,如启用会返回true

import torch
torch.cuda.is_available()

安装1Panel

1.下载1Panel离线包,并上传服务器。

2.解压离线包。

tar zxvf 1panel-v1.10.24-lts-linux-amd64.tar.gz

3.进入解压后的安装包,执行安装脚本。

/bin/bash install.sh

4.访问入口。

http://目标服务器 IP 地址:目标端口/安全入口

注:如果你是局域网192.168...,docker端口映射时默认映射到127.0.0.1会访问不了,需要映射到本机局域网ip才能局域网访问。

安装Ollama

1.下载安装包。

2.解压。

sudo tar -C /usr -xzf ollama-linux-amd64.tgz

3.测试是否正常运行。

/usr/bin/ollama serve

4./etc/systemd/system/ollama.service新建服务文件。

[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/usr/bin/ollama serve
User=root
Group=root
Restart=always
RestartSec=3
Environment="OLLAMA_HOST=0.0.0.0"
Environment="OLLAMA_ORIGINS=*"
Environment="OLLAMA_KEEP_ALIVE=24h"
Environment="OLLAMA_MODELS=/home/ollama"
Environment="OLLAMA_FLASH_ATTENTION=1"
Environment="OLLAMA_NUM_PARALLEL=5"
Environment="OLLAMA_MAX_LOADED_MODELS=1"
[Install]
WantedBy=default.target

5.设置开机自启动。

sudo systemctl enable ollama

注:我必须要在这里感慨一下!!!踩了2天的坑,我一开始装的docker版的vllm,调用识别不来gpu,我以为是英伟达显卡驱动和cuda安装有问题,折腾来折腾去,换了docker版ollama也一样识别不到gpu。然后快绝望的适合,换了非docker版,奇迹出现了!!!

安装容器版Ollama

注:不知道为什么,容器版的ollama启动后找不到gpu,呜呜呜,我换成非容器版运行能正常找到。

1.docker容器参数中编辑环境变量。

注:容器每次重启后设置都会重置,如果想要保存设置,可以将容器导出成镜像,然后再导入镜像运行。

2.docker容器参数中编辑参数,映射容器内某目录(例如/home)至本地一个目录文件夹用于导入本地模型。

例如:

/home/models /home/models

/home/ollama /root/.ollama

3.进入docker容器内部导入模型即可。

安装OpenWebUi

1.拉取docker镜像后,导入本地镜像并运行容器。

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v /home/open-webui:/app/backend/data --name festive_fermi --restart always 506db1f50c16

-v /home/open-webui:/app/backend/data 指将电脑/open-webui文件夹映射至docker中/app/backend/data目录。

506db1f50c16:镜像id。

2.配置本地知识库。

嵌入模型:建议使用nomic-embed-text。

Top_K:6。

块大小:500。

块重叠:300。

嵌入层批处理大小:8。

安装DIFY

在线安装

1.DIFY压缩包上传至服务器。

2.解压压缩包。

unzip -o 压缩包名.zip

3.进入DIFY目录内docker文件夹。

4.复制脚本。

cp .env.example .env

5.修改DIFY端口,编辑.envdocker-compose.yaml文件,修改EXPOSE_NGINX_PORT的值,默认为80端口,修改为180端口

6.创建DIFY

#高版本
docker compose up -d
#低版本
docker-compose up -d

7.运行DIFY

#访问以下网址
http://your_server_ip:180/install

离线安装

1.在完成DIFY在线安装后,将DIFYdocker容器导出为镜像。

2.DIFY容器镜像上传至服务器。

3.加载容器镜像。

docker load -i docker-web-1.tar
docker load -i docker-api-1.tar
docker load -i docker-db-1.tar
docker load -i docker-nginx-1.tar
docker load -i docker-worker-1.tar
docker load -i docker-plugin_daemon-1.tar
docker load -i docker-redis-1.tar
docker load -i docker-sandbox-1.tar
docker load -i docker-ssrf_proxy-1.tar
docker load -i docker-weaviate-1.tar

4.DIFY压缩包上传至服务器。

5.解压压缩包。

unzip -o 压缩包名.zip

6.进入DIFY目录内docker文件夹。

7.复制脚本。

cp .env.example .env

8.修改DIFY端口,编辑.envdocker-compose.yaml文件,修改EXPOSE_NGINX_PORT的值,默认为80端口,修改为180端口

9.创建DIFY

#高版本
docker compose up -d
#低版本
docker-compose up -d

10.运行DIFY

#访问以下网址
http://your_server_ip:180/install

0
AI
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin
  • 2
    1. 支付宝打赏

      qrcode alipay
    2. 微信打赏

      qrcode weixin

评论区