ChatGLM 本地部署指南(问题解决)

硬件要求(模型推理):
INT4 : RTX3090*1,显存24GB,内存32GB,系统盘200GB
如果你没有 GPU 硬件的话,也可以在 CPU 上进行推理,但是推理速度会更慢。
模型微调硬件要求更高。一般不建议个人用户环境使用

环境准备

模型准备

git clone https://hf-mirror.com/THUDM/chatglm3-6b

手动下载以下几个模型(体验时几个模型不一定需全下载)
下载地址:https://hf-mirror.com/THUDM
THUDM/chatglm3-6b

下载源码
git clone https://github.com/THUDM/ChatGLM3.git; 
cd ChatGLM3
创建conda环境
conda create -n chatglm3 python=3.10 -y 
source activate chatglm3
修改本国内源
pip config set global.index-url http://mirrors.aliyun.com/pypi/simple
pip config set install.trusted-host mirrors.aliyun.com
安装依赖库
pip install -r requirements.txt

截图 2024-05-09 09-48-17.png

运行

streamlim方式启动
streamlim run composite_demo/main.py

第一次运行时可能存在部分依赖包没有完整的下载的情况,根据错误提示,分别安装缺失的依赖库:
截图 2024-05-09 09-49-26.png
上面的错误主要是huggingface_hub 的版本问题。指定版本huggingface_hub==0.21.4, 再次执行即可。

(chatglm3) develop@itserver03:/u01/workspace/ChatGLM3$ pip install huggingface_hub==0.21.4
Looking in indexes: http://mirrors.aliyun.com/pypi/simple
Collecting huggingface_hub==0.21.4Downloading http://mirrors.aliyun.com/pypi/packages/ab/28/d4b691840d73126d4c9845f8a22dad033ac872509b6d3a0d93b456eef424/huggingface_hub-0.21.4-py3-none-any.whl (346 kB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 346.4/346.4 kB 4.6 MB/s eta 0:00:00
Requirement already satisfied: filelock in /home/develop/anaconda3/envs/chatglm3/lib/python3.10/site-packages (from huggingface_hub==0.21.4) (3.14.0)
Requirement already satisfied: fsspec>=2023.5.0 in /home/develop/anaconda3/envs/chatglm3/lib/python3.10/site-packages (from huggingface_hub==0.21.4) (2024.3.1)
Requirement already satisfied: requests in /home/develop/anaconda3/envs/chatglm3/lib/python3.10/site-packages (from huggingface_hub==0.21.4) (2.31.0)
Requirement already satisfied: tqdm>=4.42.1 in /home/develop/anaconda3/envs/chatglm3/lib/python3.10/site-packages (from huggingface_hub==0.21.4) (4.66.4)
Requirement already satisfied: pyyaml>=5.1 in /home/develop/anaconda3/envs/chatglm3/lib/python3.10/site-packages (from huggingface_hub==0.21.4) (6.0.1)
Requirement already satisfied: typing-extensions>=3.7.4.3 in /home/develop/anaconda3/envs/chatglm3/lib/python3.10/site-packages (from huggingface_hub==0.21.4) (4.11.0)
Requirement already satisfied: packaging>=20.9 in /home/develop/anaconda3/envs/chatglm3/lib/python3.10/site-packages (from huggingface_hub==0.21.4) (23.2)
Requirement already satisfied: charset-normalizer<4,>=2 in /home/develop/anaconda3/envs/chatglm3/lib/python3.10/site-packages (from requests->huggingface_hub==0.21.4) (3.3.2)
Requirement already satisfied: idna<4,>=2.5 in /home/develop/anaconda3/envs/chatglm3/lib/python3.10/site-packages (from requests->huggingface_hub==0.21.4) (3.7)
Requirement already satisfied: urllib3<3,>=1.21.1 in /home/develop/anaconda3/envs/chatglm3/lib/python3.10/site-packages (from requests->huggingface_hub==0.21.4) (2.2.1)
Requirement already satisfied: certifi>=2017.4.17 in /home/develop/anaconda3/envs/chatglm3/lib/python3.10/site-packages (from requests->huggingface_hub==0.21.4) (2024.2.2)
Installing collected packages: huggingface_hubAttempting uninstall: huggingface_hubFound existing installation: huggingface-hub 0.23.0Uninstalling huggingface-hub-0.23.0:Successfully uninstalled huggingface-hub-0.23.0
Successfully installed huggingface_hub-0.21.4
(chatglm3) develop@itserver03:/u01/workspace/ChatGLM3$ streamlit run composite_demo/main.py

启动时模型加载可以离线下载,也可以自动下载,(根据自身网络情况准备)

  • 自动联网下载,启动即可自动完成下载,不需要作任何更改

截图 2024-05-09 09-53-41.png

  • 离线下载

如果事先已经准备好模型,需要更改模型家在路径,修改文件composite_demo/client.py,把地址改为自己模型的绝对路径即可:

MODEL_PATH = os.environ.get(‘MODEL_PATH’, ‘THUDM/chatglm3-6b’)
更改为:
MODEL_PATH = os.environ.get(‘MODEL_PATH’, ‘/u01/workspace/chatglm3/models/chatglm3-6b’),
/u01/workspace/chatglm3/models/chatglm3-6b 请据实修改

MODEL_PATH = os.environ.get('MODEL_PATH', '/u01/workspace/chatglm3/models/chatglm3-6b')
PT_PATH = os.environ.get('PT_PATH', None)
PRE_SEQ_LEN = int(os.environ.get("PRE_SEQ_LEN", 128))
TOKENIZER_PATH = os.environ.get("TOKENIZER_PATH", MODEL_PATH)

成功加载后可以打开界面
http://localhost:8501/

image.png
部署 API 服务

启动 API 服务,服务的默认端口是 8000:

python openai_api_demo/api_server.py

启动服务端之后,可以通过curl验证

(chatglm3) develop@itserver03:/u01/workspace/chatglm3/ChatGLM3$ curl -X POST "http://127.0.0.1:8000/v1/chat/completions" -H "Content-Type: application/json" -d "{\"model\": \"chatglm3-6b\", \"messages\": [{\"role\": \"system\", \"content\": \"You are ChatGLM3, a large language model trained by Zhipu.AI. Follow the user's instructions carefully. Respond using markdown.\"}, {\"role\": \"user\", \"content\": \"你好,给我讲一个故事,大概100字\"}], \"stream\": false, \"max_tokens\": 100, \"temperature\": 0.8, \"top_p\": 0.8}"
{"model":"chatglm3-6b","id":"","object":"chat.completion","choices":[{"index":0,"message":{"role":"assistant","content":"从前,有一个美丽的村庄,里面住着一个善良的姑娘。她每天都会去河边给河流唱歌,她的歌声感动了河神,于是河神赐予她一片肥沃的土地。她感激不已,用这片土地种植了各种美丽的花草,还养了很多动物。村子的人们都欣赏她的智慧和勤劳,欢迎她成为村子的领袖。她的生活越来越美好,村子也越来越繁荣。","name":null,"function_call":null},"finish_reason":"stop"}],"created":1715245642,"usage":{"prompt_tokens":54,"total_tokens":141,"completion_tokens":87}}

【Qinghub Studio 】更适合开发人员的低代码开源开发平台
【QingHub企业级应用统一部署】
【QingHub企业级应用开发管理】
QingHub** 演示】**
https://qingplus.cn

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【双碳系列】碳中和、碳排放、温室气体、弹手指、碳储量、碳循环及leap、cge、dice、openLCA模型

气候变化是当前人类生存和发展所面临的共同挑战&#xff0c;受到世界各国人民和政府的高度关注 ①“双碳”目标下资源环境中的可计算一般均衡&#xff08;CGE&#xff09;模型实践技术应用 可计算一般均衡模型&#xff08;CGE模型&#xff09;由于其能够模拟宏观经济系统运行…

在论文写作中使用 LaTeX 生成算法伪代码

最近在论文写作中&#xff0c;我需要表示算法的逻辑。由于 Word 没有较好的模板&#xff0c;因此我选择使用 LaTeX 来生成算法伪代码&#xff0c;然后将其截图或转换为 SVG 格式&#xff0c;贴入论文中。 关于 LaTeX 的伪代码写作技巧&#xff0c;可以参考这篇文章&#xff1a…

OpenBayes 一周速览|Apple 开源大模型 OpenELM 上线;字节发布 COCONut 首个全景图像分割数据集,入选 CVPR2024

公共资源速递 This Weekly Snapshots &#xff01; 5 个数据集&#xff1a; * COCONut 大规模图像分割数据集 * THUCNews 新闻数据集 * DuConv 对话数据集 * 安徽电信知道问答数据集 * Sentiment Analysis 中文情感分析数据集 2 个模型&#xff1a; * OpenELM-3B-Inst…

前端组件库图片上传时候做自定义裁剪操作

不论是vue还是react项目&#xff0c;我们在使用antd组件库做上传图片的时候&#xff0c;有一个上传图片裁剪的功能&#xff0c;但是这个功能默认是只支持1:1的裁剪操作&#xff0c;如何做到自定义的裁剪操作&#xff1f;比如显示宽高比&#xff1f;是否可以缩放和旋转操作&…

【Redis】RDB持久化和AOF 持久化

分布式缓存 单点 Redis 的问题 数据丢失&#xff08;持久化&#xff09;并发能力不如集群&#xff08;主从集群、读写分离&#xff09;Redis宕机导致服务不可用&#xff08;Redis哨兵&#xff09;存储能力差&#xff08;分片集群&#xff09; Redis 持久化 RDB 持久化 什么…

力扣hot100:199. 二叉树的右视图/437. 路径总和 III(dfs/回溯/树上前缀和/哈希表)

文章目录 一、LeetCode&#xff1a;199. 二叉树的右视图二、LeetCode&#xff1a;437. 路径总和 III 一、LeetCode&#xff1a;199. 二叉树的右视图 LeetCode&#xff1a;199. 二叉树的右视图 差点因为是个中等题打退堂鼓。其实比较简单。 右视图实际上只需要找到&#xff0c…

python自动化生成ppt

使用Python和python-pptx创建PPT 在这篇博客中&#xff0c;我们将探讨如何使用Python库python-pptx来创建一个简单的PowerPoint演示文稿&#xff08;PPT&#xff09;。这个库允许我们以编程方式创建幻灯片、添加文本、图片、表格和自定义形状。 安装python-pptx 首先&#x…

Relaxed MemoryConsistency

SC和TSO都被称之为强&#xff08;strong&#xff09;保序模型&#xff1b; because the global memory order of each model usually respects (preserves) per-thread program order&#xff1b;回想一下&#xff0c;对于load和store的所有四种组合&#xff08;Load -> Lo…

六一儿童节活动方案策划怎么写?

六一儿童节活动方案策划不难&#xff0c;一般看前人策划的案例就可以仿写一篇充满创意的儿童节活动方案。 当然&#xff0c;你也可以照着下面的模版直接写&#xff1a; 成年人的时间是离弦的箭 向着目标,一往无前 孩子的时间是旋转木马 载着今天和明天转啊转啊圈圈 成年人…

基于FPGA的视频矩阵 视频拼接 无缝切换解决方案

视频矩阵 视频矩阵 视频拼接 无缝切换 1. 最大支持144路HDMI视频输入&#xff0c;最大支持144路路HDMI输出&#xff0c;完全交叉切换。 2. 与包括1080p/60的所有HDTV分辨率和高达1920*1200的PC的分辨率兼容&#xff1b; 3. 支持HDMI 1.3a、HDCP 1.3、HDCP 1.4、以及DVI 1.0协…

教你解决PUBG绝地求生游戏中闪退掉线无法重连回去的问题

《绝地求生》&#xff08;PUBG&#xff09;&#xff0c;作为一款在全球范围内掀起热潮的战术竞技游戏&#xff0c;以其栩栩如生的战场环境和令人心跳加速的生存冒险博得了广大玩家的青睐。然而&#xff0c;一些玩家在经历了一场惊心动魄的对局后&#xff0c;却面临了一个不大不…

django显示网页步骤

显示网页步骤 小白的django学习笔记 2024/5/6 8:30 文章目录 显示网页步骤创建输入框&#xff08;文本、单选、多选&#xff09;效果如何在django中显示网页写函数配置地址运行&#xff0c;要选择这个工程名的&#xff0c;使用socket复制ip&#xff0c;后面在加上名字,成功&…

Nextcloud私有云盘-重新定义云存储体验

Nextcloud私有云盘-重新定义云存储体验 1. 什么是Nextcloud ​ Nextcloud是一个开源的云存储和协作平台&#xff0c;旨在为个人用户、企业和团队提供安全、隐私保护的数据存储和共享解决方案。它允许您在不同设备之间同步、共享文件&#xff0c;提供了强大的协作工具和应用生…

数据库入门(sql文档+命令行)

一.基础知识 1.SQL&#xff08;Structured Query Language&#xff09;结构化查询语言分类&#xff1a; DDL数据定义语言用来定义数据库对象&#xff1a;数据库、表、字段DML数据操作语言对数据库进行增删改查DQL数据查询语言查询数据库中表的信息DCL数据控制语言用来创建数据…

服务器托管与租赁的有什么区别

服务器作为企业数据存储、应用部署的重要工具&#xff0c;其选择方式多种多样。其中&#xff0c;服务器托管和租赁是两种常见的形式。 在选择服务器时&#xff0c;很多企业会面临一个问题&#xff1a;是选择托管服务还是租赁服务器&#xff1f; 一、什么是服务器租用和服务器托…

鸿蒙——即将是国内全部物联网的搭载系统

国内物联网时代 中国国内物联网时代是指在中国国内&#xff0c;物联网&#xff08;Internet of Things&#xff0c;简称IoT&#xff09;技术得到广泛应用和发展的时代。在这个时代&#xff0c;各种设备和物品都可以通过互联网进行连接和交互&#xff0c;实现信息的采集、传输和…

【SpringBoot整合系列】SpringBoot整合RabbitMQ-消息可靠性

目录 确保消息的可靠性RabbitMQ 消息发送可靠性分析解决方案开启事务机制发送方确认机制单条消息处理消息批量处理 失败重试自带重试机制业务重试 RabbitMQ 消息消费可靠性如何保证消息在队列RabbitMQ 的消息消费&#xff0c;整体上来说有两种不同的思路&#xff1a;确保消费成…

让GPT们成为我们的小助手:使用ChatGPT来生成测试用数据

让GPT们成为我们的小助手 任务&#xff1a;帮忙生成测试数据 今天本来想做一个测试&#xff0c;所以需要一些测试数据。为了让测试显得更真实&#xff0c;所以希望测试数据看上去就是一份真实的数据&#xff0c;所以我就希望ChatGPT&#xff08;这里是代指&#xff0c;我有使…

rider自定义代码片段(以C#为例)

1.先看效果 2.在哪设置 File→Settings→Editor→Live Templates→C#3.咋定义 代码片段中的变量用$$包围&#xff0c;而且我们可以自定义变量名称&#xff0c;如CName。选择我们自定义的变量名称我们可以修改变量是否可以被修改以及变量将自动匹配的值。 比如将CName自动填充…

单指针优化的不相交集合:Gompers教授猜想的实现与分析

单指针优化的不相交集合&#xff1a;Gompers教授猜想的实现与分析 引言1. Gompers教授的猜想2. 单指针表示的数据结构C语言实现3. MAKE-SET 操作伪代码C语言实现 4. FIND-SET 操作伪代码C语言实现 5. UNION 操作伪代码C语言实现 6. 加权合并启发式策略7. 效果与分析8. 结论 引言…