首页 > 其他分享 >【大模型】使用 Xinference 部署本地模型,从GPU服务器到本地知识库搭建Dify【LLM大语言模型(glm-4-9b-chat)、Rerank 模型、Embedding(向量)模型】

【大模型】使用 Xinference 部署本地模型,从GPU服务器到本地知识库搭建Dify【LLM大语言模型(glm-4-9b-chat)、Rerank 模型、Embedding(向量)模型】

时间:2024-09-04 19:55:07浏览次数:12  
标签:glm dify 本地 模型 百度网 sh https docker

基本介绍

基础信息

  • 本文会用到博主写的一些线上脚本,如果搭建者时纯内网的话,可能需要手动压缩镜像,然后解压镜像,才能正常部署
  • 本文从GPU服务器获取、到 nvidia-docker的安装、再到Xinference 部署私有化三个模型,最后搭建dify(供从 Agent 构建到 AI workflow 编排、RAG 检索、模型管理等能力,轻松构建和运营生成式 AI 原生应用)、最后再配置实例dify,配置dify实例,整合三个模型,最后实现知识库搭建

GPU服务器获取

  • UCloud GPU服务器30块使用7天,显卡P40,主要是显存大,本来来测试足矣
  • 注册UCloud账号:https://passport.ucloud.cn/?invitation_code=C1x3C93EC6B6768
  • 购买特惠GPU服务器地址:GPU云服务器特惠
  • 购买 Tesla P40 24G显存,单精度浮点性能12 TFLOPS
    在这里插入图片描述
  • 博主在安装的时候GPU主机 选择的是 CentOS7.8,建议大家选择一样的系统
  • 可能用P40显卡后面驱动版本、CUDA版本的兼容性,可能花点时间

基础安装

基础信息安装

  • 拿到服务器后,进行基础的命令初始化、docker安装等,这里博主提供脚本给大家
  • 基础安装
wget -O centos7-init.sh https://files.rundreams.net/sh/run-sh/init/centos7-init.sh && sh centos7-init.sh
  • docker安装
wget -O docker-install.sh https://files.rundreams.net/sh/run-sh/docker/docker-install.sh && sh docker-install.sh
  • 由于Xinference的docker镜像包比较大,所以建议大家在docker安装成功后,就进行进行包拉取,差不多在18G左右
docker pull registry.cn-hangzhou.aliyuncs.com/xprobe_xinference/xinference

在这里插入图片描述

显卡驱动配置

显卡检查

  • 执行命令:lspci | grep -i nvidia
    在这里插入图片描述
  • 去英伟达官网下载相应的驱动
  • 驱动下载地址:https://www.nvidia.cn/drivers/lookup/
  • 本文采用的是 Tesla P40 ,所以下载相应的驱动
    在这里插入图片描述

下载

wget https://cn.download.nvidia.cn/tesla/550.90.07/NVIDIA-Linux-x86_64-550.90.07.run

禁用nouveau系统自带驱动

  • 安装驱动前,需要禁用nouveau系统自带驱动
  • 查看系统自带的驱动,如果有结果,则说明存在nouveau,没有则直接跳过这一步
lsmod | grep nouveau
  • 禁用nouveau系统自带驱动
# 编辑如下文件:
vi /usr/lib/modprobe.d/dist-blacklist.conf

# 然后在最后添加如下内容:
blacklist nouveau
options nouveau modeset=0
  • 然后重启服务器再进行检查
  • 安装依赖包:yum install gcc dkms gcc-c++

显卡驱动安装

  • 权限:
chmod 777 NVIDIA-Linux-x86_64-550.90.07.run
  • 安装命令:
./NVIDIA-Linux-x86_64-550.90.07.run --kernel-source-path=/usr/src/kernels/4.19.188-10.el7.ucloud.x86_64/ -no-x-check

在这里插入图片描述

  • 期间会出现警告,暂时不予理会,都ok进行下一步
    在这里插入图片描述
  • 安装完成后执行命令:nvidia-smi
    在这里插入图片描述
  • 执行命令完成后都能看到CUDA版本、显存大小,表示安装成功

安装nvidia-docker

下载

通过百度网盘分享的文件:centos.zip
链接:https://pan.baidu.com/s/1OabfMMQMVXhTcd2vVzR73g?pwd=no2x
提取码:no2x
–来自百度网盘超级会员V9的分享

  • 上传值服务器某个目录:
    在这里插入图片描述

配置

  • 执行命令进行安装:rpm -Uvh *.rpm --nodeps --force
    在这里插入图片描述
  • 重启docker:systemctl restart docker

验证

  • 拉取镜像进行验证
docker pull registry.cn-chengdu.aliyuncs.com/rundreams-open/nvidia_tritonserver:21.10-py3
  • 启动docker验证进行:
docker run -it --gpus all registry.cn-chengdu.aliyuncs.com/rundreams-open/nvidia_tritonserver:21.10-py3 /bin/bash

在这里插入图片描述

Xinference 部署

Xorbits Inference(Xinference)是一个性能强大且功能全面的分布式推理框架。可用于大语言模型(LLM),语音识别模型,多模态模型等各种模型的推理。通过 Xorbits Inference,你可以轻松地一键部署你自己的模型或内置的前沿开源模型。无论你是研究者,开发者,或是数据科学家,都可以通过 Xorbits Inference 与最前沿的 AI 模型,发掘更多可能。

docker部署官方文档

mkdir -p /home/data
mkdir -p /data/models
  • 执行docker命令进行部署:
docker pull registry.cn-hangzhou.aliyuncs.com/xprobe_xinference/xinference
docker run --name xinference -e XINFERENCE_MODEL_SRC=modelscope -p 9997:9997 -v /home/data/.xinference:/root/.xinference -v /home/data/.cache/huggingface:/root/.cache/huggingface -v /home/data/.cache/modelscope:/root/.cache/modelscope -v /data/models:/data/models --gpus all 7d8caa26db95 xinference-local -H 0.0.0.0 --log-level debug

在这里插入图片描述

模型下载

glm-4-9b-chat

  • 百度网盘下载

通过百度网盘分享的文件:glm-4-9b-chat.zip
链接:https://pan.baidu.com/s/16VnkAM05PglzGVNVCfo39w?pwd=ifbd
提取码:ifbd
–来自百度网盘超级会员V9的分享

  • git下载
git clone https://www.modelscope.cn/zhipuai/glm-4-9b-chat.git

Embedding(向量)模型

  • 百度网盘下载

通过百度网盘分享的文件:bge-large-zh-v1.5.zip
链接:https://pan.baidu.com/s/1JLDzV3QXhvYhaREPwV5Zow?pwd=esu7
提取码:esu7
–来自百度网盘超级会员V9的分享

  • git下载:
git clone https://www.modelscope.cn/ai-modelscope/bge-large-zh-v1.5.git

Rerank 模型

  • 百度网盘下载:

通过百度网盘分享的文件:bge-reranker-v2-m3.zip
链接:https://pan.baidu.com/s/1wA781i9MtZG0EeFkYo9KGw?pwd=x1jm
提取码:x1jm
–来自百度网盘超级会员V9的分享

  • git下载:
git clone https://www.modelscope.cn/ai-modelscope/bge-reranker-v2-m3.git

模型部署

Embedding(向量)模型

在这里插入图片描述

  • 启动模型
    在这里插入图片描述
  • 启动成功
    在这里插入图片描述
  • 再次执行命令:nvidia-smi
  • 看到显存已经消耗掉一部分
    在这里插入图片描述

Rerank 模型

在这里插入图片描述

  • 启动模型
    在这里插入图片描述
  • 启动成功
    在这里插入图片描述

LLM大语言模型(glm-4-9b-chat)

在这里插入图片描述

  • 如果大文件unzip解压失败,需设置变量

error: invalid zip file with overlapped components (possible zip bomb)
To unzip the file anyway, rerun the command with UNZIP_DISABLE_ZIPBOMB_DETECTION=TRUE environmnent variable

  • 设置环境变量解决
UNZIP_DISABLE_ZIPBOMB_DETECTION=TRUE
export UNZIP_DISABLE_ZIPBOMB_DETECTION

dify 部署

  • dify-生成式 AI 应用创新引擎
  • 官网:https://dify.ai/zh
  • Github开源地址:https://github.com/langgenius/dify
  • 开源的 LLM 应用开发平台。提供从 Agent 构建到 AI workflow 编排、RAG 检索、模型管理等能力,轻松构建和运营生成式 AI 原生应用。
  • 比 LangChain 更易用

docker-compose部署

部署最新版本dify

  • 克隆 Dify 源代码至本地。
git clone https://github.com/langgenius/dify.git
cd dify/docker
cp .env.example .env
docker compose up -d
  • 如果能够科学上网是能够成功的,不过很多小伙伴不能科学上网镜像可能拉取不成功
  • 下面不足提供低版本的镜像,不用科学上网也能把dify部署起来

部署指定版本dify 0.6.15

  • 仅供学习大模型该版本是完全没问题的,
  • 下载docker源代码:

通过百度网盘分享的文件:docker.zip
链接:https://pan.baidu.com/s/1gZxZiEfqytnltkdoT9q6RA?pwd=72lb
提取码:72lb
–来自百度网盘超级会员V9的分享

  • 解压文件:unzip docker.zip
    在这里插入图片描述
  • 执行镜像拉取脚本:
wget -O dify-0.6.15-images.sh https://files.rundreams.net/sh/run-sh/ai/dify/dify-0.6.15-images.sh && sh dify-0.6.15-images.sh

在这里插入图片描述

  • 执行命令查看dify docker镜像:docker images
    在这里插入图片描述
  • 启动dify:docker-compose up -d
    在这里插入图片描述
  • 检查是否所有容器都正常运行:docker compose ps
    在这里插入图片描述

dify配置

  • 访问IP+默认80 端口
    在这里插入图片描述
    在这里插入图片描述
  • 进行登录
    在这里插入图片描述
    在这里插入图片描述

模型供应商配置

  • 点击用户右上角设置
    在这里插入图片描述
    在这里插入图片描述
  • 配置相应的模型
    在这里插入图片描述
  • 分别配置对应的模型
    在这里插入图片描述

本地知识库搭建

  • 后面博主会单独写一篇基于Dify进行知识库搭建的文章,包含自定义页面、openapi的调用等。

总结

  • 其实搭建起来整体来看不是特别复杂的,和其他应用并无太大差别,唯一多出来的可能是服务器需要有GPU的支持,而且显存得大,如果显存小可能支持小参数的模型。
  • 后续有问题需要沟通交流,也可以添加博主进行沟通(提供技术付费大模型本地搭建)
    微信 ID:cqrundreams

标签:glm,dify,本地,模型,百度网,sh,https,docker
From: https://blog.csdn.net/u010800804/article/details/141756410

相关文章

  • CareGPT:开源驱动的医疗大语言模型
    CareGPT:医疗AI的新篇章在人工智能快速发展的今天,医疗领域正迎来一场革命性的变革。CareGPT作为一个开源的医疗大语言模型项目,正站在这场变革的前沿,为医疗AI的未来描绘出令人振奋的蓝图。什么是CareGPT?CareGPT,全称"关怀GPT",是一个专注于医疗领域的大语言模型。它不仅仅是一......
  • 中国大模型大全 · 爆肝干货整理 · 244 个
    中国大模型大全,全面收集有明确来源的大模型情况,包括机构、来源信息和分类等。序号公司大模型省市类别官网说明1百度文心一言北京......
  • 无限上头!扩散模型竟然也是实时游戏引擎!谷歌团队首推神经模型驱动的游戏引擎,马斯克:特斯
    你没有听错!一提到游戏引擎,你肯定会联想到虚幻5(不自主地再提一次《黑神话:悟空》),Unity,Cocos,但你会想到用来生成图像的扩散模型也被认为是一种游戏引擎吗?图片昨晚,谷歌DeepMind发布了一款GameNGen的神经模型,给出的生成效果,让人们惊呼:世界模型要来了!据介绍,GameNGen,是首个完全......
  • 在本地通过Docker安装RocketMQ
    拉取镜像&部署这里选用foxiswho/rocketmq:server-4.5.1版本,在官方镜像没出来前,foxiswho是一个比较靠谱的第三方镜像。执行下面的命令直接启动NameServer。dockerrun-d-p9876:9876--namermqnamesrvfoxiswho/rocketmq:server-4.5.1接下来执行下面的命令启动Broker,......
  • 如何使用Docker Compose运行Nexus并将本地仓库管理工具发布至公网
    文章目录前言1.Docker安装Nexus2.本地访问Nexus3.Linux安装Cpolar4.配置Nexus界面公网地址5.远程访问Nexus界面6.固定Nexus公网地址7.固定地址访问Nexus前言本文主要介绍在Linux中使用Docker来一键部署NexusMaven私有仓库工具并结合Cpolar内网穿透实现远程......
  • AI大模型入门指南:从基础到实践的系统学习路径
    如何系统的入门大模型?本篇文章默认面向对大模型领域感兴趣的程序员。看一下围绕大模型的应用场景和人才需求:**Prompt工程:**基于提示词对大模型的使用,会问问题就行。**基于大模型的应用:在大模型生态之上做业务层产品。AI主播、AINPC、AI小助手。。。之前是会调API就行。......
  • 深入探索AI大模型:技术原理、应用场景与未来趋势解析
    随着人工智能技术的迅猛发展,AI大模型一直被视为推动人工智能领域提升的关键因素,大模型已成为了引领技术浪潮研究和应用方向。大模型是指具有庞大规模和复杂结构的人工智能模型,它们具有数以亿计的参数和深层次的神经网络架构。这些模型通过学习海量数据和深度神经网络的优化,......
  • 大模型入门指南(非常详细)零基础入门到精通,收藏这一篇就够了
    文章目录前言什么是大模型发展历程模型部署量化Quantization动手实验LLamaWhisper免费的LLM产品总结零基础如何学习大模型AI第一阶段(10天):初阶应用第二阶段(30天):高阶应用第三阶段(30天):模型训练第四阶段(20天):商业闭环资料领取前言随着ChatGPT的到来,大模型[1](Lar......
  • GBDT模型 0基础小白也能懂(附代码)
    GBDT模型0基础小白也能懂(附代码)原文链接啥是GBDTGBDT(GradientBoostingDecisionTree),全名叫梯度提升决策树,是一种迭代的决策树算法,又叫MART(MultipleAdditiveRegressionTree),它通过构造一组弱的学习器(树),并把多颗决策树的结果累加起来作为最终的预测输出。该算法将决策树与......
  • 程序员入门大模型,2024年值得关注的畅销书单!
    文章目录前言大模型入门01《GPT图解大模型是怎样构建的》02《大模型应用开发动手做AIAgent》03《ChatGPT原理与应用开发》04《AIGC自动化编程:基于ChatGPT和GitHubCopilot》05《生成式AI入门与AWS实战》人工智能基础01《动手学深度学习(PyTorch版)》02《深度学......