【LLM】离线部署ChatGLM-6B模型

目录

前言

准备环境

打包环境

下载/上传模型 

部署模型


前言

甲方出手,天下我有🤩。圆梦了圆梦了~一直想整一台GPU服务器尝尝鲜,奈何钱包空空,虽然有可以在CPU上部署的方案,但效果却不是让人那么满意,可以看下我这篇文章末尾的效果就知道了:

【LLM】Windows本地CPU部署民间版中文羊驼模型踩坑记录_提笔忘字的帝国的博客-CSDN博客

 让我们看看GPU参数吧😍

 输入命令:(如果报了未找到命令的话需要给显卡驱动目录添加进环境变量,自行百度)

nvidia-smi

我滴乖乖,49G显存爱了爱了~

ChatGLM-6B仓库链接:

GitHub - THUDM/ChatGLM-6B: ChatGLM-6B: An Open Bilingual Dialogue Language Model | 开源双语对话语言模型


准备环境

因为服务器是在内网里的,没法联网下载,所以我只能把环境配置好再安装到服务器里,我这里使用的是Anaconda3来搭建python环境,搭建好后可以直接把环境打包放到服务器上用,下载地址:Free Download | Anaconda

安装说明:一直点next即可(需要注意有个地方要勾选添加PATH变量,忘记截图了)

使用Anaconda3迁移环境有两个注意的地方(避免其他问题):

  • 相同的操作系统(比如不可以将windows下制作的环境放到linux上)
  • 相同的Anaconda3版本 

因为甲方的服务器上装的是windows server,因此我可以使用windows制作环境 

记住自己的Anaconda3安装目录,我们待会需要找到安装目录内的环境把它打包!!!   

除了Anaconda3还需要安装git工具,地址:Git - Downloading Package 

安装的话一直点下一步就行了

接下来如图我在D盘目录下打开cmd窗口:

在cmd窗口输入命令创建一个python的环境:

conda create -n glm python=3.9

激活环境:

conda activate glm

克隆ChatGLM-6B的仓库:

git clone https://github.com/THUDM/ChatGLM-6B.git

接下来你应该能在D盘中看到一个名为ChatGLM-6B的文件夹,把文件夹内的requirements.txt内容替换为以下内容(想踩坑的话不替换也行):

protobuf
transformers==4.27.1
cpm_kernels
gradio==3.12.0
mdtex2html
sentencepiece
accelerate
fastapi
uvicorn

将cmd切换到ChatGLM-6B目录,分别执行一下命令(一个一个去执行,免得出错):

pip install -r requirements.txt

pip uninstall torch

pip cache purge

pip install torch -f https://download.pytorch.org/whl/torch_stable.html

 到这环境就准备好了~


打包环境

找到你的Anaconda3安装目录,在里面会有一个名为envs的文件夹,里面的内容如下:

这样就已经好了,接下来只需要在服务器上安装好Anaconda3,然后把这个压缩包解压放到服务器上对应的envs目录就好了


下载/上传模型 

分别执行以下命令:

git lfs install

git clone https://huggingface.co/THUDM/chatglm-6b

下载好后把模型放到上面克隆下来的ChatGLM-6B仓库中:

接下来只需要把ChatGLM-6B仓库压缩下上传到服务器即可


部署模型

记得把Anaconda3安装包也一块上传到服务器,安装好Anaconda3后把上面制作的那个环境放到envs目录下,把ChatGLM-6B的压缩包解压下,ChatGLM-6B目录下有个web_demo.py文件,打开文件将里面所有的"THUDM/chatglm-6b"替换为你的模型绝对路径,做完这些操作后在当前目录下开一个cmd窗口分别执行以下命令:

conda activate glm

python web_demo.py

启动完后将会弹出一个网页

 如果你想部署一个api, 那么只需要将目录下的api.py文件跟web_demo.py一样把文件内的模型路径换成你自己的模型绝对路径, 执行以下命令即可

python api.py

👍点赞,你的认可是我创作的动力 !
🌟收藏,你的青睐是我努力的方向!
✏️评论,你的意见是我进步的财富!    

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

跟着杰哥学强化学习:多臂老虎机问题

多臂老虎机问题 现在有3台外观一模一样的老虎机,每个老虎机的赔率是不同的,摇动一次需要1块钱,现在给你100块钱,如何获取最大的收益。 如果我们知道了每个老虎的赔率,那么只要选择收益最高的那个老虎机就可以了,但现在问题是并不知道每个老虎机的收益。为了简单,我们假…

忆暖行动|“他一个人推着老式自行车在厚雪堆的道路上走,车上带着学生考试要用的司机”

忆暖行动|“他一个人推着老式自行车在厚雪堆的道路上走,车上带着学生考试要用的sj” 一头白发,满山青葱 在那斑驳的物件褶皱中,透过泛黄的相片,掩藏着岁月的冲刷和青葱的时光。曾经的青年早已经不复年轻,但是那份热爱…

Nachos系统的上下文切换

Fork调用创建进程 在实验1中通过gdb调试初步熟悉了Nahcos上下文切换的基本流程,但这个过程还不够清晰,通过源码阅读进一步了解这个过程。 在实验1中通过执行Threadtest,Fork创建子进程,并传入SimpleThread执行currentThread->…

MySQL学习笔记第七天

第07章单行函数 2. 数值函数 2.4 指数函数、对数函数 函数用法POW(x,y)&#xff0c;POWER(X,Y)返回x的y次方EXP(X)返回e的x次方&#xff0c;其中e是一个常数&#xff0c;2.718281828459045LN(X)&#xff0c;LOG(X)返回以e为底的X的对数&#xff0c;当x<0时&#xff0c;返…

Linux Ansible任务控制(循环判断、处理程序、失败任务)

目录 Ansible的Loop循环 简单的Loop循环 数组列表方式的Loop循环 字典方式的Loop循环 基于外部变量的Loop循环 Ansible的When判断 通过魔法变量、事实变量作为条件 通过剧本执行结果的变量来作为条件 Ansible处理程序 Ansible处理失败任务 处理失败任务ignore_error…

Stable Diffusion 本地部署教程不完全指南

ChatGPT免费体验入口网址 http://chat.xutongbao.top 参考链接&#xff1a; ERROR: Could not find a version that satisfies the requirement torch1.7.0 ERROR: No matching……_congcongiii的博客-CSDN博客 下载链接&#xff1a; https://download.pytorch.org/whl/cu11…

KeepChatGPT插件-提效神器,解决ChatGPT报错!

KeepChatGPT插件-提效神器&#xff0c;解决ChatGPT报错&#xff01; 文章目录 KeepChatGPT插件-提效神器&#xff0c;解决ChatGPT报错&#xff01;一、错误提示关于 为何会出现大规模地网络错误二、解决方案三、安装步骤电脑端使用1.Chrome浏览器安装2.Firefox浏览器安装 四、使…

医院信息系统HIS源码——接口技术:RESTful API + WebSocket + WebService

云HIS系统采用SaaS软件应用服务模式&#xff0c;提供软件应用服务多租户机制&#xff0c;实现一中心部署多机构使用。相对传统HIS单机构应用模式&#xff0c;它可灵活应对区域医疗、医疗集团、医联体、连锁诊所、单体医院等应用场景&#xff0c;并提升区域内应用的标准化与规范…

LangChain 2 ONgDB:大模型+知识图谱实现领域知识问答

LangChain 2 ONgDB&#xff1a;大模型知识图谱实现领域知识问答 LangChain 2 ONgDB&#xff1a;大模型知识图谱实现领域知识问答系统截图LangChain代理流程 Here’s the table of contents: LangChain 2 ONgDB&#xff1a;大模型知识图谱实现领域知识问答 LangChain 是一种 LL…

asp.net+sqlserver旅游网站zjy99A2

1&#xff0e;系统登录&#xff1a;系统登录是用户访问系统的路口&#xff0c;设计了系统登录界面&#xff0c;包括用户名、密码和验证码&#xff0c;然后对登录进来的用户判断身份信息&#xff0c;判断是管理员用户还是普通用户。 2&#xff0e;系统用户管理&#xff1a;不管是…

【校招VIP】IT职位校招简历千万不要用两栏的模板,另外,告诉你个陷阱:越个性机会越少

前两天在简历指导的直播里&#xff0c;发现了不应该出现的一种简历格式问题。 有的同学喜欢用那种竖栏两栏的简历模板。 我们建议研发岗的校招&#xff0c;简历不要这么去写。 因为两栏的话&#xff0c;实际上有一个很大的问题。 因为简历上需要写项目经历&#xff0c;需要写…

从Pandas快速切换到Polars :数据的ETL和查询

对于我们日常的数据清理、预处理和分析方面的大多数任务&#xff0c;Pandas已经绰绰有余。但是当数据量变得非常大时&#xff0c;它的性能开始下降。 我们以前的两篇文章来测试Pandas 1.5.3、polar和Pandas 2.0.0之间的性能了&#xff0c;Polars 正好可以解决大数据量是处理的…

国内直接使用的ChatGTP

ChatGTP都能做一些什么事&#xff1a; 回答问题&#xff1a;我可以通过自然语言处理技术来回答用户的问题&#xff0c;提供有用的信息和解决方案。 聊天互动&#xff1a;我可以和用户聊天互动&#xff0c;倾听对话和提供支持。 搜索&#xff1a;我可以搜索互联网和已知的数据…

【Java笔试强训 19】

&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔&#x1f93a;&#x1f93a;&#x1f93a; 目录 一、选择题 二、编程题 &#x1f525;汽水瓶 …

「Bug」解决办法:Could not switchto this profil,无法使用节点的解决方法,彻底解决

♥️作者&#xff1a;白日参商 &#x1f935;‍♂️个人主页&#xff1a;白日参商主页 ♥️坚持分析平时学习到的项目以及学习到的软件开发知识&#xff0c;和大家一起努力呀&#xff01;&#xff01;&#xff01; &#x1f388;&#x1f388;加油&#xff01; 加油&#xff01…

【五一创作】Scratch资料袋

Scratch软件是免费的、免费的、免费的。任何需要花钱才能下载Scratch软件的全是骗子。 1、什么是Scratch Scratch是麻省理工学院的“终身幼儿园团队”开发的一种图形化编程工具。是面向青少年的一款模块化&#xff0c;积木化、可视化的编程语言。 什么是模块化、积木化&…

1. 安装Open vSwitch环境

1. 安装Open vSwitch环境 1 配置基础环境。 在VMware Workstation软件中创建一个虚拟机VM1&#xff0c;配置2张网卡&#xff0c;虚拟机VM1配置如图4-3所示。将网卡ens33地址配置为192.168.1.131/24&#xff0c;网卡ens34地址配置为192.168.2.131/24。 图4-3 VM1虚拟机配置 2…

好家伙,9:00面试,9:06就出来了,问的实在是太...

从外包出来&#xff0c;没想到死在另一家厂子 自从加入这家公司&#xff0c;每天都在加班&#xff0c;钱倒是给的不少&#xff0c;所以也就忍了。没想到2月一纸通知&#xff0c;所有人不许加班&#xff0c;薪资直降30%&#xff0c;顿时有吃不起饭的赶脚。 好在有个兄弟内推我去…

为什么在马云成功前就有那么多影像留下来?

马云创业的各个阶段&#xff0c;都有意无意得到媒体的推波助澜&#xff0c;不光是影像&#xff0c;还留下了很多相关的文字报道。站在当时的角度&#xff0c;马云或许并不总是以一种成功人士的身份出现&#xff0c;但即便如此&#xff0c;他做事情也足够新潮、足够前卫、或者足…

【Spring】三大依赖注入(@Autowired,Setter,构造方法)

目录 一、属性注入&#xff08;Autowired&#xff09; 1.1 优点分析 1.2 缺点分析 1.2.1 无法实现final修饰的变量注入。 1.2.2 兼容性不好 1.2.3 &#xff08;可能违背&#xff09;设计原则问题 1.2.4 代码举例&#xff1a; 1.2.5 出现循环依赖该怎么办&#xff1f; …