快速调用 GLM-4-9B-Chat 语言模型
一、确认本机显卡配置

二、下载大模型
国内可以从魔搭社区下载,
下载地址:https://modelscope.cn/models/ZhipuAI/glm-4-9b-chat/files

三、运行官方代码
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer device = "cuda" tokenizer = AutoTokenizer.from_pretrained("E:\openai\ChatGLM4\glm-4-9b-chat", trust_remote_code=True) query = "你好" inputs = tokenizer.apply_chat_template([{"role": "user", "content": query}],
add_generation_prompt=True,
tokenize=True,
return_tensors="pt",
return_dict=True
) inputs = inputs.to(device)
model = AutoModelForCausalLM.from_pretrained(
"E:\openai\ChatGLM4\glm-4-9b-chat",
torch_dtype=torch.bfloat16,
low_cpu_mem_usage=True,
trust_remote_code=True
).to(device).eval() gen_kwargs = {"max_length": 2500, "do_sample": True, "top_k": 1}
with torch.no_grad():
outputs = model.generate(**inputs, **gen_kwargs)
outputs = outputs[:, inputs['input_ids'].shape[1]:]
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
结果如下

中间需要安装环境,建议用anaconda来安装
官方文档中说到可以用vLLM的方式跑起来,即CPU的方式
使用 transformers 后端进行推理 使用 vLLM 后端进行推理: 区别是什么
使用不同的后端进行推理,主要区别在于性能、灵活性和易用性方面。以下是使用transformers后端和vLLM后端进行推理的一些区别:
性能:transformers后端使用硬件加速(如GPU、TPU等)进行推理,因此在处理大量数据和复杂模型时具有更高的性能。而vLLM后端使用CPU进行推理,性能相对较低,但适用于轻量级模型和移动设备。
灵活性:transformers后端支持多种预训练模型和任务,如文本分类、命名实体识别、机器翻译等。您可以根据需求选择合适的模型。vLLM后端主要针对轻量级语言模型,适用于文本生成和补全任务。
易用性:transformers后端提供了丰富的API和工具,方便用户进行模型加载、推理和部署。vLLM后端相对较简单,易于在移动设备和嵌入式设备上集成和使用。
资源消耗:transformers后端在推理过程中可能消耗较多的计算资源和内存,尤其是在使用大型模型时。vLLM后端资源消耗相对较低,适合在资源受限的环境中运行。
总之,选择哪种后端进行推理取决于您的具体需求,包括任务类型、性能要求、资源限制等因素。如果需要高性能、灵活性和丰富的功能,可以选择transformers后端;如果关注轻量级、易于集成和低资源消耗,可以选择vLLM后端。
python安装vLLM的时候报错,只能装在linux上

快速调用 GLM-4-9B-Chat 语言模型的更多相关文章
- history介绍及bash命令快速调用
在日常工作中,能够快速并准确的使用命令是必不可少的,下面为大家介绍一下其中的小技巧. 一.查找命令历史——history 使用history能够快速的找到之前输入过的命令. # history 大家可 ...
- 知道WCF的地址用工厂通道方式快速调用WCF
知道WCF的地址用工厂通道方式快速调用WCF 1 using System; 2 using System.ServiceModel; 3 using System.ServiceModel.D ...
- Terminal(终端) 在 OS X下如何快速调用
Terminal(终端) 在 OS X下如何快速调用 转载请注明原作者:文章如果对您有所启发或帮助,不介意您请我喝一杯咖啡 Terminal作为人机交流中极其重要的一部分,无论是在Windows. ...
- 如何学会快速调用API
作为一名苦逼的程序员,在实现各种需求的过程中,总是需要调用各种各样的API,也就是要读各种文档.我们所要做的是弄清楚这些API的参数然后调用即可.说起来非常简单,是实际上却不是这样.现在火爆的机器学习 ...
- C++利用模板在Windows上快速调用DLL函数
更新日志 --------- 2021/08/01 更新V2.2 增加 GetHmodule 函数 - 允许用户获取HMODULE以验证加载DLL是否成功. 2021/08/03 更新V2.3 增加 ...
- 个人永久性免费-Excel催化剂功能第59波-快速调用Windows内部常用工具命令
Windows里一些常用的工具.命令,许多存放得很深的位置,不容易找到,每次还要百度半天才能调用成功,Excel催化剂现将常用的操作,提取至插件中完成,一键即可调出相应功能,无需苦苦找寻. 使用场景 ...
- .Net语言 APP开发平台——Smobiler学习日志:在手机应用开发中如何快速调用电话拨打功能
样式一 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的”Smobiler Components”拖动一个PhoneButton控件到窗体界面上 2.修改PhoneButton ...
- OpenStack core components CLI快速调用API
1,openStack core components CLI 使用自身参数执行;
- java util - MD5/AES/RSA快速调用工具
测试代码 package cn.java.security; import java.security.Key; import java.util.Base64; import org.junit.A ...
- 快速调用Android虚拟机
由于使用Android studio开发flutter 每次打开软件都需要很长时间,所以我自己使用vscode进行开发,没有虚拟机也开发不了,于是就有了这篇博客的作用啦 在本地桌面新建一个xxx.ba ...
随机推荐
- THUWC2024&NOIWC2024游记
以 NOIWC 考试日为 Day 1 好了. Day -6 到重庆了.去报到,然后直接不去试机走了,这波主打一个自信. Day -5 THUWC Day1,四道传统题. 开 T1,一眼有一个 \(O( ...
- 如何实现surging 多语言混合微服务异构
1. 背景 作为微服务体系, 应该是不限语言的, 不管是.net.java, 都可以是一个微服务. 可以使用JAVA或者.NET 去实现业务模块,通过统一的消息模型进行传输调用因客户技术栈以多语言,多 ...
- 16、数据库加固-mysql 加固
1.修改 DBA 登录密码 shell 下执行: mysqladmin -u root password 非首次修改:mysqladmin -u root password -p原密码 在 mysql ...
- sqli-labs-master 导入导出 + 第七关
1.load_file()导出文件 load_file(file_name):读取文件并返回该文件内容作为一个字符串. 使用条件: A:必须有权限读取并且文件完全可读 B:预读取文件必修在服务器上 C ...
- 05. C语言数组
数组用于将多个数据集中存储,方便管理,此文将任何集中存储一组数据的语句都称为数组,数组根据存储数据的类型和方式分为以下类型:数组.结构体.共用体.枚举. [数组] 数组用于存储多个类型相同的数据,可以 ...
- ansible系列(20)--ansible的变量详解
目录 1. Ansible Variables 1.1 变量定义的方式 1.2 在playbook中定义变量 1.2.1 使用vars方式定义变量 1.2.2 使用vars_file方式定义变量 1. ...
- linux文本三剑客之awk详解
linux文本三剑客之awk详解 目录 linux文本三剑客之awk详解 1.awk命令详解 1.1 awk的处理流程 1.2 awk中的变量 1.2.1 内置变量 1.2.2 自定义变量 1.3 a ...
- 基于FPGA的数字钟设计---第三版
欢迎各位朋友关注"郝旭帅电子设计团队",本篇为各位朋友介绍基于FPGA的数字钟设计---第三版. 功能说明: 1. 在数码管上面显示时分秒(共计六个数码管,前两个显示小时:中间两个 ...
- kubernets之横向伸缩pod与集群节点
一 pod的自动伸缩容的应用背景 在面对负载并发过高的时候,我们或许希望能够提高RS,RC以及Deployment等的replicas的参数来增加pod的cpu,mem等,或者是通过提高每个容器的r ...
- 创建一个flutter项目
启动Android Studio,点击[Start a new Flutter project] 如果没有这项选项,请先安装Flutter插件 具体安装方法,可参考 flutter开发环境的搭建 ...