当前位置: 首页 > news >正文

LLM大语言模型(一):ChatGLM3-6B本地部署

目录

前言

本机环境

ChatGLM3代码库下载

模型文件下载

修改为从本地模型文件启动

启动模型网页版对话demo

超参数设置

GPU资源使用情况 (网页对话非常流畅)

前言

LLM大语言模型工程化,在本地搭建一套开源的LLM,方便后续的Agent等特性的研究。

本机环境

CPU:AMD Ryzen 5 3600X 6-Core Processor

Mem:32GB

GPU:RTX 4060Ti 16G

ChatGLM3代码库下载

# 下载代码库
​git clone https://github.com/THUDM/ChatGLM3.git# 安装依赖
pip install -r requirements.txt

模型文件下载

建议从modelscope下载模型,这样就不用担心网络问题了。

模型链接如下: 

chatglm3-6b · 模型库 (modelscope.cn)

git lfs install
git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git

修改为从本地模型文件启动

修改此文件basic_demo/web_demo2.py

import os
import streamlit as st
import torch
from transformers import AutoModel, AutoTokenizer# 注意
# 注意
# 注意
# 注意
# 注意 也可以通过修改环境变量MODEL_PATH来实现
MODEL_PATH = os.environ.get('MODEL_PATH', '#注意-你的本地模型文件的文件夹-注意#')
TOKENIZER_PATH = os.environ.get("TOKENIZER_PATH", MODEL_PATH)
DEVICE = 'cuda' if torch.cuda.is_available() else 'cpu'

启动模型网页版对话demo

pip install -U streamlit 

可以通过以下命令启动基于 Streamlit 的网页版 demo:

# 进入下载的代码库
cd ChatGLM3# 用streamlit启动服务
streamlit run basic_demo/web_demo2.py

网页版 demo 会运行一个 Web Server,并输出地址。在浏览器中打开输出的地址即可使用。 经测试,基于 Streamlit 的网页版 Demo 会更流畅。

streamlit启动效果:

聊天窗口效果:

超参数设置

ChatGLM3-6B共有以下参数可以设置

  • max_length: 模型的总token限制,包括输入和输出的tokens

  • temperature: 模型的温度。温度只是调整单词的概率分布。其最终的宏观效果是,在较低的温度下,我们的模型更具确定性,而在较高的温度下,则不那么确定。

  • top_p: 模型采样策略参数。在每一步只从累积概率超过某个阈值 p 的最小单词集合中进行随机采样,而不考虑其他低概率的词。只关注概率分布的核心部分,忽略了尾部部分。

对于以下场景,我们推荐使用这样的参数进行设置

Use Case

temperature

top_p

任务描述

代码生成

0.2

0.1

生成符合既定模式和惯例的代码。 输出更确定、更集中。有助于生成语法正确的代码

创意写作

0.7

0.8

生成具有创造性和多样性的文本,用于讲故事。输出更具探索性,受模式限制较少。

聊天机器人回复

0.5

0.5

生成兼顾一致性和多样性的对话回复。输出更自然、更吸引人。

调用工具并根据工具的内容回复

0.0

0.7

根据提供的内容,简洁回复用户的问题。

代码注释生成

0.1

0.2

生成的代码注释更简洁、更相关。输出更具有确定性,更符合惯例。

数据分析脚本

0.2

0.1

生成的数据分析脚本更有可能正确、高效。输出更确定,重点更突出。

探索性代码编写

0.6

0.7

生成的代码可探索其他解决方案和创造性方法。输出较少受到既定模式的限制。

GPU资源使用情况 (网页对话非常流畅)

模型加载后GPU显存使用情况,约使用14G显存。

推理过程GPU使用情况, GPU使用率约88%

相关文章:

LLM大语言模型(一):ChatGLM3-6B本地部署

目录 前言 本机环境 ChatGLM3代码库下载 模型文件下载 修改为从本地模型文件启动 启动模型网页版对话demo 超参数设置 GPU资源使用情况 (网页对话非常流畅) 前言 LLM大语言模型工程化,在本地搭建一套开源的LLM,方便后续的…...

chatgpt prompt提示词

chatgpt的接口是一个标准的http请求,请求的url为 POST https://api.openai.com/v1/chat/completions 官方的接口文档地址为:https://platform.openai.com/docs/api-reference/chat/create Example request curl https://api.openai.com/v1/chat/comp…...

【PyTorch】数据集

文章目录 1. 创建数据集1.1. 直接继承Dataset类1.2. 使用TensorDataset类 2. 数据集的划分3. 加载数据集4. 将数据转移到GPU 1. 创建数据集 主要是将数据集读入内存,并用Dataset类封装。 1.1. 直接继承Dataset类 必须要重写__getitem__方法,用于根据索…...

oops-framework框架 之 本地存储(五)

引擎: CocosCreator 3.8.0 环境: Mac Gitee: oops-game-kit 注: 作者dgflash的oops-framework框架QQ群: 628575875 简介 在CocosCreator中,本地存储主要使用sys.localStorage 接口,通过 key-value的格式进…...

编程常见的问题

在现代社会中,编程已经成为一项非常重要的技能。随着科技的不断发展和普及,计算机已经渗透到我们生活的方方面面,从个人电脑、手机到智能家居、自动驾驶等。编程作为计算机科学的基础,为我们提供了解决问题和创造新事物的工具和方…...

针对Arrays.asList的坑,可以有哪些处理措施

上文讲述:Error querying database. Cause: java.lang.reflect.InaccessibleObjectException: 那么如果真的只习惯用Arrays.asList,那也是有对应的解决办法的。 一、解决办法大方向 不管做什么事情,都是先判定一个大方向,不管是…...

SE考研真题总结(一)

本帖开始分享考研真题中设计【软件工程】的部分,预计会出5期左右,敬请期待~ 一.单选题 1.程序编写不是软件质量保障过程~ 静态代码扫描是今年来多数被人提及的软件应用安全解决方案之一,指程序员在编写好代码后无需进行编译,直接…...

Xshell远程登录AWS EC2 Linux实例

文章目录 小结问题解决参考 小结 Xshell远程登录AWS EC2 Linux实例碰到些问题,进行解决并记录。 问题 在AWS中创建 EC2 Linux实例,生成的非对称密钥对,使用Xshell远程登录碰到一些问题。 解决 首先在Putty中可以使用的ppk密钥文件在Xshe…...

Elasticsearch:对时间序列数据流进行降采样(downsampling)

降采样提供了一种通过以降低的粒度存储时间序列数据来减少时间序列数据占用的方法。 指标(metrics)解决方案收集大量随时间增长的时间序列数据。 随着数据老化,它与系统当前状态的相关性越来越小。 降采样过程将固定时间间隔内的文档汇总为单…...

python自动化测试框架:unittest测试用例编写及执行

本文将介绍 unittest 自动化测试用例编写及执行的相关内容,包括测试用例编写、测试用例执行、测试报告等内容。 官方文档: https://docs.python.org/zh-cn/3/library/unittest.mock.html 1. 测试用例编写 在 unittest 中,一个测试用例通常…...

ctfhub技能树_web_web前置技能_HTTP

目录 一、HTTP协议 1.1、请求方式 1.2、302跳转 1.3、Cookie 1.4、基础认证 1.5、响应包源代码 一、HTTP协议 1.1、请求方式 注:HTTP协议中定义了八种请求方法。这八种都有:1、OPTIONS :返回服务器针对特定资源所支持的HTTP请求方法…...

mysql8报sql_mode=only_full_group_by(存储过程一直报)

1:修改数据库配置(重启失效) select global.sql_mode;会打印如下信息 ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION里面包含 ONLY_FULL_GROUP_BY,那么就重新设置,在数据库中输入以下代码,去掉ONLY_FULL_GROU…...

Vue2中v-html引发的安全问题

前言:v-html指令 1.作用:向指定节点中渲染包含html结构的内容。 2.与插值语法的区别: (1).v-html会替换掉节点中所有的内容,{{xx}}则不会。 (2).v-html可以识别html结构。 3.严重注意:v-html有安全性问题&#xff0…...

java内部类详解

文章目录 一、介绍二、为什么要使用内部类三、非静态内部类四、静态内部类五、局部内部类六、匿名内部类七、lambda表达式内部类八、成员重名九、序列化十、如何选择内部类 一、介绍 在java中,我们被允许在编写一个类(外部类OuterClass)时,在其内部再嵌…...

Python 潮流周刊#29:Rust 会比 Python 慢?!

△请给“Python猫”加星标 ,以免错过文章推送 你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。本周刊开源,欢迎投稿[1]。另有电报频道[2]作为副刊,补充发布更加丰富的资讯。 &#x1f43…...

吴恩达《机器学习》11-1-11-2:首先要做什么、误差分析

一、首先要做什么 选择特征向量的关键决策 以垃圾邮件分类器算法为例,首先需要决定如何选择和表达特征向量 𝑥。视频提到的一个示例是构建一个由 100 个最常出现在垃圾邮件中的词构成的列表,根据这些词是否在邮件中出现来创建特征向量&…...

Pandas在Excel同一个sheet里插入多个Dataframe和行

Pandas默认的to_excel是直接把完成的Datafrme写入一个sheet里,这并不能满足我们在一个sheet里插入多个Dataframe或多行的需求。为了实现插入多行或多Dataframe的目的,我们需要新建一个ExcelWriter对象,然后依次插入数据。 这里我们以插入2个Dataframe和三行单元格为例。 新…...

查看mysql 或SQL server 的连接数,mysql超时、最大连接数配置

1、mysql 的连接数 1.1、最大可连接数 show variables like max_connections; 1.2、运行中连接数 show status like Threads_connected; 1.3、配置最大连接数, mysql版本不同可配置的最大连接数不同,mysql8.0的版本默认151个连接数,…...

C++学习之路(七)C++ 实现简单的Qt界面(消息弹框、按钮点击事件监听)- 示例代码拆分讲解

这个示例创建了一个主窗口,其中包含两个按钮。第一个按钮点击时会显示一个简单的消息框,第二个按钮点击时会执行一个特定的操作(在这个例子中,仅打印一条调试信息)。 功能描述: 创建窗口和布局:…...

python实现一个计算器

实现一个计算器首先熟悉一下这个阅读器的属性import subprocess subprocess.run(["espeak", "-v", "enf3", "This is a Calculator"])class Calculator:def speaker(self,word):subprocess.run(["espeak", "-v", …...

Photoshop图层批量导出终极指南:如何用免费脚本实现10倍效率提升

Photoshop图层批量导出终极指南:如何用免费脚本实现10倍效率提升 【免费下载链接】Photoshop-Export-Layers-to-Files-Fast This script allows you to export your layers as individual files at a speed much faster than the built-in script from Adobe. 项目…...

Excel数据分析工具库 vs. Python手动计算:手把手教你搞定一元线性回归的全部检验

Excel与Python双视角解析:一元线性回归的实战检验指南 当市场部的同事递给你一份用户行为数据,指着"页面停留时间"和"转化率"两列问你"这两个指标到底有没有关系"时,你会选择打开Excel的回归分析工具一键生成报…...

Windows窗口置顶终极指南:PinWin让你的多任务处理效率翻倍

Windows窗口置顶终极指南:PinWin让你的多任务处理效率翻倍 【免费下载链接】PinWin Pin any window to be always on top of the screen 项目地址: https://gitcode.com/gh_mirrors/pin/PinWin 你是否曾因频繁切换窗口而打断工作流程?是否需要在多…...

Cursor编辑器使用统计工具:量化开发效率与AI辅助深度分析

1. 项目概述:一个为开发者量身定制的Cursor使用统计工具如果你和我一样,日常开发重度依赖Cursor这款AI代码编辑器,那你肯定也好奇过:我到底有多“卷”?每天在编辑器里花了多少时间?最常用的功能是哪些&…...

城通网盘直连解析工具:3分钟告别限速烦恼

城通网盘直连解析工具:3分钟告别限速烦恼 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 还在为城通网盘那令人抓狂的下载速度而苦恼吗?每次下载大文件都要面对漫长的等待倒计时…...

马斯克当庭翻脸:刚说完“比特币好“,转身狂喷“其他加密货币都是骗局“

一句法庭证词,炸翻整个币圈2026年4月29日,美国奥克兰法院。埃隆马斯克坐在证人席上,面对一屋子律师和记者,正在为他起诉OpenAI的案件作证。当被问及OpenAI在2018年是否有计划通过首次代币发行(ICO)筹集资金…...

AgenticTime:为AI智能体设计的时间推理引擎与.atime文件格式详解

1. 项目概述:为AI智能体赋予时间感知能力如果你用过Claude、GPT或者任何基于大语言模型的AI助手,肯定遇到过这样的场景:你告诉它“周五前要完成API评审”,它当时答应得好好的,但当你隔天再问“我这周有什么要紧事”时&…...

Windows平台终极PDF处理指南:Poppler工具集完整解决方案

Windows平台终极PDF处理指南:Poppler工具集完整解决方案 【免费下载链接】poppler-windows Download Poppler binaries packaged for Windows with dependencies 项目地址: https://gitcode.com/gh_mirrors/po/poppler-windows 还在为Windows系统上繁琐的PDF…...

星闪测距性能分析

环境HiSpark开发平台,两块BS21E丢包率1分钟内75次测距数据中,约有6次左右的数据是无效或者丢失,可以通过一些滤波算法过滤,完全可以满足小车定位的需要。测距精度目前使用的测距方案是RSSI信号强度与IQ信号结合,精度达…...

如何快速构建企业级拼多多数据采集系统:3大核心优势助力电商决策

如何快速构建企业级拼多多数据采集系统:3大核心优势助力电商决策 【免费下载链接】scrapy-pinduoduo 拼多多爬虫,抓取拼多多热销商品信息和评论 项目地址: https://gitcode.com/gh_mirrors/sc/scrapy-pinduoduo 在竞争激烈的电商市场中&#xff0…...