【大模型】更强的 ChatGLM3-6B 来了,开源可商用

【大模型】更强的 ChatGLM3-6B 来了,开源可商用

  • 简介
    • ChatGLM3-6B
  • 环境配置
    • 环境搭建
    • 安装依赖
  • 代码及模型权重拉取
    • 拉取 ChatGLM3-6B
    • 拉取 ChatGLM3-6B 模型权重及代码
  • 终端测试
  • 网页测试
    • 安装 gradio
    • 加载模型并启动服务
  • 参考

在这里插入图片描述

简介

ChatGLM3-6B

ChatGLM3-6B 是 ChatGLM 系列最新一代的开源模型,在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上,ChatGLM3-6B 引入了如下特性:

  1. 更强大的基础模型: ChatGLM3-6B 的基础模型 ChatGLM3-6B-Base 采用了更多样的训练数据、更充分的训练步数和更合理的训练策略。在语义、数学、推理、代码、知识等不同角度的数据集上测评显示,ChatGLM3-6B-Base 具有在 10B 以下的预训练模型中最强的性能
  2. 更完整的功能支持: ChatGLM3-6B 采用了全新设计的 Prompt 格式,除正常的多轮对话外。同时原生支持工具调用(Function Call)、代码执行(Code Interpreter)和 Agent 任务等复杂场景。
  3. 更全面的开源序列: 除了对话模型 ChatGLM3-6B 外,还开源了基础模型 ChatGLM-6B-Base、长文本对话模型 ChatGLM3-6B-32K。以上所有权重对学术研究完全开放,在填写问卷进行登记后亦允许免费商业使用

环境配置

环境搭建

具体搭建过程参考:
【AI实战】最强开源 6B 中文大语言模型ChatGLM3-6B,从零开始搭建
- ChatGLM2-6B 搭建

安装依赖

pip install protobuf transformers==4.30.2 cpm_kernels torch>=2.0 gradio mdtex2html sentencepiece accelerate

代码及模型权重拉取

拉取 ChatGLM3-6B

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

github网站偶尔会抽风,需要耐心等待,如果失败了,再重新拉取

拉取 ChatGLM3-6B 模型权重及代码

cd ChatGLM3-6B
git clone https://huggingface.co/THUDM/chatglm3-6b

由于权重文件特别大,如果失败了,执行 rm -rfi ChatGLM3-6B,再重新拉取。

查看文件列表:

ls -l ChatGLM3-6B

输出:

.gitattributes  1.52 kB
MODEL_LICENSE   4.13 kB
README.md   9.04 kB
config.json 1.25 kB
configuration_chatglm.py    2.31 kB
modeling_chatglm.py 51.5 kB
pytorch_model-00001-of-00007.bin    1.83 GB
pytorch_model-00002-of-00007.bin    1.97 GB
pytorch_model-00003-of-00007.bin    1.93 GB
pytorch_model-00004-of-00007.bin    1.82 GB
pytorch_model-00005-of-00007.bin    1.97 GB
pytorch_model-00006-of-00007.bin    1.93 GB
pytorch_model-00007-of-00007.bin    1.05 GB
pytorch_model.bin.index.json    20.4 kB
quantization.py 14.7 kB
tokenization_chatglm.py 10.1 kB
tokenizer.model 1.02 MB
tokenizer_config.json   

终端测试

进入python环境:

python3

输入代码:

from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("./ChatGLM3-6B", trust_remote_code=True)
model = AutoModel.from_pretrained("./ChatGLM3-6B", trust_remote_code=True).half().cuda()
model = model.eval()
response, history = model.chat(tokenizer, "你好", history=[])
print(response)
response, history = model.chat(tokenizer, "晚上睡不着应该怎么办", history=history)
print(response)

输出:

晚上睡不着可能会让你感到焦虑或不舒服,但以下是一些可以帮助你入睡的方法:

1. 制定规律的睡眠时间表:保持规律的睡眠时间表可以帮助你建立健康的睡眠习惯,使你更容易入睡。尽量在每天的相同时间上床,并在同一时间起床。
2. 创造一个舒适的睡眠环境:确保睡眠环境舒适,安静,黑暗且温度适宜。可以使用舒适的床上用品,并保持房间通风。
3. 放松身心:在睡前做些放松的活动,例如泡个热水澡,听些轻柔的音乐,阅读一些有趣的书籍等,有助于缓解紧张和焦虑,使你更容易入睡。
4. 避免饮用含有咖啡因的饮料:咖啡因是一种刺激性物质,会影响你的睡眠质量。尽量避免在睡前饮用含有咖啡因的饮料,例如咖啡,茶和可乐。
5. 避免在床上做与睡眠无关的事情:在床上做些与睡眠无关的事情,例如看电影,玩游戏或工作等,可能会干扰你的睡眠。
6. 尝试呼吸技巧:深呼吸是一种放松技巧,可以帮助你缓解紧张和焦虑,使你更容易入睡。试着慢慢吸气,保持几秒钟,然后缓慢呼气。

如果这些方法无法帮助你入睡,你可以考虑咨询医生或睡眠专家,寻求进一步的建议。

网页测试

使用 gradio 搭建页面

安装 gradio

pip install gradio   -i https://pypi.tuna.tsinghua.edu.cn/simple

加载模型并启动服务

修改模型路径;

vi web_demo.py

到6,7行:

tokenizer = AutoTokenizer.from_pretrained("THUDM/ChatGLM3-6B", trust_remote_code=True)
model = AutoModel.from_pretrained("THUDM/ChatGLM3-6B", trust_remote_code=True).cuda()

修改为:

tokenizer = AutoTokenizer.from_pretrained("./ChatGLM3-6B", trust_remote_code=True)
model = AutoModel.from_pretrained("./ChatGLM3-6B", trust_remote_code=True).cuda()

开启服务:

python web_demo.py

测试地址:

http://10.192.x.x:7860/

参考

  1. https://github.com/THUDM/ChatGLM3-6B
  2. https://huggingface.co/THUDM/ChatGLM2-6B
  3. https://huggingface.co/THUDM/ChatGLM3-6B
  4. https://github.com/THUDM/GLM

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

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

相关文章

Python逐步打造惊艳的折线图

大家好,Matplotlib可以快速轻松地使用现成的函数绘制图表,但是微调步骤需要花费更多精力。今天本文将介绍如何使用Matplotlib绘制吸引人的图表,实现折线图的惊艳变身。 1.数据 为了说明方法,本文使用了包含过去50年各国GDP信息的…

短线买入卖出有哪些交易技巧?

前面两节课,我们认识了短线交易,知道了短线交易常见的买入卖出时机,这节课,我们来讲解一下短线买入卖出的一些交易技巧。话不多时,直接进入重点! 一、短线交易要果断 短线波动快,在出现买卖信号…

Redis集群详解

1.1 什么是Redis集群 Redis集群是一种通过将多个Redis节点连接在一起以实现高可用性、数据分片和负载均衡的技术。它允许Redis在不同节点上同时提供服务,提高整体性能和可靠性。根据搭建的方式和集群的特性,Redis集群主要有三种模式:主从复制…

Vue基础知识点梳理

在Vue中,被用来响应地更新HTML属性的指令是v-model页面挂载成功之后会触发哪一个钩子函数mounted挂载之后会进行页面的渲染v-on是动作元素不属于条件渲染指令 在Vue中,下列关于Vue实例对象说法不正确的是()。A.Vue实例对象是通过n…

Spring Cloud NetFlix

文章目录 Spring Cloud1 介绍2 Eureka(服务注册与发现)2.1 介绍2.2 服务注册与发现示例2.2.1 Eureka Server:springcloud-eureka2.2.2 Eureka Client:springcloud-provider2.2.3 Eureka Client:springcloud-consumer 2…

木马病毒是怎么进入服务器的,要如何防范

木马病毒通常是基于计算机网络,基于客户端和服务端的通信、监控程序。名称来源于公元前十二世纪希腊和特洛伊之间的一场战争。能够在计算机管理员未发觉的情况下开放系统权限、泄漏用户信息、甚至窃取整个计算机管理使用权限,隐匿性高。 木马病毒的入侵方…

开关电源的电感选择和布局布线

开关电源(SMPS, Switched-Mode Power Supply)是一种非常高效的电源变换器,其理论值更是接近100%,种类繁多。按拓扑结构分,有Boost、Buck、Boost-Buck、Charge-pump等;按开关控制方式分&#xff…

c语言:整数与浮点数在内存中的存储方式

整数在内存中的存储: 在计算机内存中,整数通常以二进制形式存储。计算机使用一定数量的比特(bit)来表示整数,比如32位或64位。在存储整数时,计算机使用补码形式来表示负数,而使用原码形式来表示…

如何创建一个vue工程

1.打开vue安装网址:安装 | Vue CLI (vuejs.org) 2.创建一个项目文件夹 3.复制地址 4.打开cmd,进入这个地址 5.复制粘贴vue网页的安装命令 npm install -g vue/cli 6.创建vue工程 vue create vue这里可以通过上下键来进行选择。选最后一个选项按回车。 …

企业网盘在医疗行业资料管理中的应用与优势

随着企业网盘的广泛应用,医疗行业正逐渐实现资料安全存储和智能化管理。海量应用的推动下,医院管理正朝着线上化、智能化发展迈进。然而,医疗行业仍面临着诸多挑战。 医疗行业的痛点在于病例、档案、药品资料繁多且保存周期长。这些资料的整理…

L1-009:N个数求和

目录 ⭐题目描述⭐ ⭐分析 ⭐程序代码 运行结果 ⭐文案分享⭐ ⭐题目描述⭐ 本题的要求很简单,就是求N个数字的和。麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式。 输入格式: 输入第一行给出…

XIAO ESP32S3之SenseCraft 模型助手部署

sipeed教程:SenseCraft 模型助手部署 | Seeed Studio Wiki 一、安装ESP-IDF 鉴于我的电脑之前安装过esp-idf v4.3版本,而ESP32-S3需要v4.4及以上版本才支持,所以将esp-idf更新到最新5.1版本。 1、启动mingw32.exe应用 2、进入esp-idf目录 …

前端小记--2.element-ui中级联选择器cascader如何默认展开下拉框

最近做项目时,遇到一个需求:在一个排班表中,展示人员的值班情况,点击单元格,弹出下拉框,修改人员排班信息。 由于下拉框选择内容是树状结构,这里使用了element-ui中级联组件cascader&#xff0c…

ganache部署智能合约报错VM Exception while processing transaction: invalid opcode

这是因为编译的字节码不正确,ganache和remix编译时需要选择相同的evm version 如下图所示: remix: ganache: 确保两者都选择london或者其他evm,只要确保EVM一致就可以正确编译并部署, 不会再出现VM Exception while processing…

Wireshark使用详解

wireshark简介 wireshark是捕获机器上的某一块网卡的网络包,当你的机器上有多块网卡的时候,你需要选择一个网卡。   wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容&#…

【C++】类和对象——初始化列表和static修饰成员

首先我们来谈一下初始化列表,它其实是对于我们前边构造函数体内初始化的一种补充,换一种说法,它以后才是我们构造函数的主体部分。 我们先考虑一个问题,就是一个类里面有用引用或const初始化的成员变量,比如说&#xf…

【【FPGA 之 MicroBlaze 自定义IP核 之 呼吸灯实验】】

FPGA 之 MicroBlaze 自定义IP核 之 呼吸灯实验 通过创建和封装 IP 向导的方式来自定义 IP 核,支持将当前工程、工程中的模块或者指定文件目录封装成 IP 核,当然也可以创建一个带有 AXI4 接口的 IP 核,用于 MicroBlaze 软核处理器和可编程逻辑…

kubernetes中YAML介绍;API资源对象Pod;Pod原理和生命周期;Pod资源限制

YAML介绍;API资源对象Pod;Pod原理和生命周期;Pod资源限制 1)认识YAML 官网(https://yaml.org/) YAML 语言创建于 2001 年,比 XML 晚了三年。YAML虽然在名字上模仿了XML,但实质上与…

Spring之RestTemplate详解

Spring之RestTemplate详解 1 RestTemplate1.1 引言1.2 环境配置1.2.1 非Spring环境下使用RestTemplate1.2.2 Spring环境下使用 RestTemplate1.2.3 Spring环境下增加线程号 1.3 API 实践1.3.1 GET请求1.3.1.1 不带参请求1.3.1.2 带参的get请求(使用占位符号传参)1.3.1.3 带参的g…

西南科技大学模拟电子技术实验四(集成运算放大器的线性应用)预习报告

一、计算/设计过程 说明:本实验是验证性实验,计算预测验证结果。是设计性实验一定要从系统指标计算出元件参数过程,越详细越好。用公式输入法完成相关公式内容,不得贴手写图片。(注意:从抽象公式直接得出结果,不得分,页数可根据内容调整) 反相比例运算电路(1)实验…