ChatGLM3初体验

mac本地化部署ChatGLM3

  • 写在前面
  • 环境准备
    • 1. python环境
    • 2. 安装第三方依赖torch
    • 3.下载模型
  • 代码准备
    • 1.clone代码
  • run
    • 效果

写在前面

建议直接去看官方文档
https://github.com/THUDM/ChatGLM3?tab=readme-ov-file

环境准备

1. python环境

python -V
## 3.11.4

2. 安装第三方依赖torch

pip3 install --pre torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/nightly/cpu

3.下载模型

https://modelscope.cn/models/ZhipuAI/chatglm3-6b/files
克隆下来,几个大文件可能需要手动下载,克隆完成后注意看看文件的大小

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

代码准备

1.clone代码

git clone https://github.com/THUDM/ChatGLM3.git
cd ChatGLM3

然后使用 pip 安装依赖:

pip install -r requirements.txt

ChatGLM3目录介绍

名称说明
basic_demo基础demo(cli_demo和web_demo)
composite_demo综合demo(聊天、工具和代码解释器)
finetune_demo基础模型微调
langchain_demolangchain demo
model自己创建的,将模型文件放在此目录下
openai_api_demoopenapi的api接口demo
tensorrt_llm_demotensorTR-llm demo

run

替换模型为本地文件
修改代码中MODEL_PATH为下载的模型的路径
在这里插入图片描述

MODEL_PATH = os.environ.get('MODEL_PATH', '/your local path/chatglm3-6b')
TOKENIZER_PATH = os.environ.get("TOKENIZER_PATH", MODEL_PATH)tokenizer = AutoTokenizer.from_pretrained(TOKENIZER_PATH, trust_remote_code=True)
model = AutoModel.from_pretrained(MODEL_PATH, trust_remote_code=True).to('mps').eval()

然后直接run即可。

启动 composite_demo/main.py时出现

AttributeError: st.session_state has no attribute "chat_history". Did you forget to initialize it?

使用下面的命令启动、

streamlit run  main.py 

效果

在这里插入图片描述

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

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

相关文章

标注平台工作流:如何提高训练数据质量与管理效率

世界发展日益依托数据的驱动,企业发现,管理不断增长的数据集却愈发困难。数据标注是诸多行业的一个关键过程,其中包括机器学习、计算机视觉和自然语言处理。对于大型语言模型(LLM)来说尤是如此,大型语言模型…

前端面试问题汇总 - Vue篇

1. Vue 的生命周期有哪些,每个阶段分别做什么操作? beforeCreate: 在实例初始化之后、数据观测和事件配置之前被调用。此时数据对象 data 和事件(methods)都还未初始化。一般不在此阶段进行数据初始化和 DOM 操作。cre…

为什么我们应该切换到Rust

What is RUST? 什么是Rust? Rust is a programming language focused on safety, particularly safe concurrency, supporting functional and imperative-procedural paradigms. Rust is syntactically similar to C, but it provides memory safety without usi…

[大模型]Yi-6B-chat WebDemo 部署

Yi-6B-chat WebDemo 部署 Yi 介绍 由60亿个参数组成的高级语言模型 Yi LLM。为了促进研究,Yi 已经为研究社区开放了Yi LLM 6B/34B Base 和 Yi LLM 6B/34B Chat。 环境准备 在autodl平台中租一个3090等24G显存的显卡机器,如下图所示镜像选择PyTorch–…

leecode438 | 找到所有字符串中的异位词

题意大致是&#xff0c;给定两个字符串&#xff0c;s 和 p 其中 要在s 中找到由p的元素组成的子字符串&#xff0c;记录子字符串首地址 class Solution { public:vector<int> findAnagrams(string s, string p) {int m s.size(), n p.size();if(m < n)return {};vec…

vue-router 原理【详解】hash模式 vs H5 history 模式

hash 模式 【推荐】 路由效果 在不刷新页面的前提下&#xff0c;根据 URL 中的 hash 值&#xff0c;渲染对应的页面 http://test.com/#/login 登录页http://test.com/#/index 首页 核心API – window.onhashchange 监听 hash 的变化&#xff0c;触发视图更新 window.onhas…

谷歌关键词优化全攻略提高曝光率-华媒舍

现如今&#xff0c;互联网已成为信息获取的主要渠道&#xff0c;而搜索引擎则是人们寻找信息的首选工具之一。其中&#xff0c;谷歌作为全球最大的搜索引擎&#xff0c;其搜索结果的排名直接影响着网站的曝光率和流量。了解并掌握谷歌关键词优化的技巧&#xff0c;成为提升网站…

Vue项目打包:禁止生成sourceMap文件

Vue项目在打包过程中&#xff0c;默认会生成sourceMap文件。 sourceMap的主要作用是让打包后的文件像未压缩的代码一样&#xff0c;方便调试和定位错误。然而&#xff0c;在生产环境中我们通常不需要这些文件&#xff0c;因为它们会增加应用程序的体积。 可以在vue.config.js…

MySQL-多表查询:多表查询分类、SQL99语法实现多表查询、UNION的使用、7种SQL JOINS的实现、SQL99语法新特性、多表查询SQL练习

多表查询 1. 一个案例引发的多表连接1.1 案例说明1.2 笛卡尔积&#xff08;或交叉连接&#xff09;的理解1.3 案例分析与问题解决 2. 多表查询分类讲解分类1&#xff1a;等值连接 vs 非等值连接等值连接非等值连接 分类2&#xff1a;自连接 vs 非自连接分类3&#xff1a;内连接…

团结引擎+OpenHarmony 1配置篇

团结引擎OpenHarmony 1 配置篇 app团结鸿蒙化第一课一 DevEco Studio 下载安装二 团结引擎三 出包 app团结鸿蒙化第一课 1 团结引擎配置2 DevEco Studio 配置 一 DevEco Studio 下载安装 申请开发者套件 1 注册华为账号 签署协议 官网 2 认真填写 DevEco Studio 开发套件申请…

高清4路HDMI编码器JR-3214HD

产品简介&#xff1a; JR-3214HD四路高清HDMI编码器是专业的高清音视频编码产品&#xff0c;该产品具有支持4路高清HDMI音视频采集功能&#xff0c;4路3.5MM独立外接音频输入&#xff0c;编码输出双码流H.264格式&#xff0c;音频MP3/AAC格式。编码码率可调&#xff0c;画面质…

预约系统的使用

预约系统的使用 目录概述需求&#xff1a; 设计思路实现思路分析1.用户年规则 在 预约系统中的使用流程 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0c;skip hardness,make a better result,wa…

【LeetCode热题100】【二叉树】路径总和 III

题目链接&#xff1a;437. 路径总和 III - 力扣&#xff08;LeetCode&#xff09; 要从上到下找一条路径的和最简单的方法是遍历每个节点&#xff0c;然后从每个节点往下累加看看和对不对 这样是O(n&#xff09;的时间复杂度 可以计算一条路径上的前缀和方法&#xff0c;这样…

[图像处理] MFC OnMouseMove()绘制ROI矩形时的闪烁问题

文章目录 问题对策代码完整工程 结果使用Picture控件的RedrawWindow()的效果使用Dialog的RedrawWindow()的效果使用Picture控件的RedrawWindow()&#xff0c;ROI绘制到图像外的效果 结论 问题 最近想通过业余时间&#xff0c;写一个简单的图像处理软件&#xff0c;一点点学习图…

测试计划和测试报告

1、软件测试计划简介 测试计划&#xff0c;一般是主管写&#xff0c;在需求分析之后&#xff0c;测试工作开始之间做的一些准备划工作。一般包含以下内容&#xff1a;5W1H 目的、测试范围、测试进度安排、测试人员、测试环境、测试方法工具&#xff0c;风险评估 &#xff08;w…

redis知识整理

redis知识整理 什么是缓存穿透&#xff0c;怎么解决布隆过滤器 什么是缓存击穿&#xff0c;怎么解决互斥锁和分布式锁 什么是缓存雪崩&#xff0c;怎么解决Redis作为缓存&#xff0c;mysql如何与redis进行同步呢&#xff1f;&#xff08;双写一致&#xff09;一致性要求高排他锁…

如何在 MySQL 中开启日志记录并排查操作记录

在数据库管理中&#xff0c;能够追踪和审查操作记录是至关重要的。这不仅有助于识别和分析正常的数据库活动&#xff0c;还可以在数据泄露或未经授权的更改发生时进行调查和响应。本文将介绍如何在 MySQL 中开启通用日志记录&#xff0c;并如何排查操作记录。 开启 MySQL 通用…

2024/4/14周报

文章目录 摘要Abstract文献阅读题目创新点CROSSFORMER架构跨尺度嵌入层&#xff08;CEL&#xff09;CROSSFORMER BLOCK长短距离注意&#xff08;LSDA&#xff09;动态位置偏置&#xff08;DPB&#xff09; 实验 深度学习CrossFormer背景维度分段嵌入&#xff08;DSW&#xff09…

c++ 根据ip主机号和子网掩码随机生成ip

在C中&#xff0c;可以使用以下方法根据给定的IP地址和子网掩码来随机生成IP地址。这里使用了库来生成随机数&#xff0c;以及<arpa/inet.h>库来处理IP地址。 #include <iostream> #include <random> #include <arpa/inet.h>std::string random_ip(co…

面试经典150题 删除有序数组中的重复项 II

面试经典150题 day4 题目来源我的题解方法一 双指针 题目来源 力扣每日一题&#xff1b;题序&#xff1a;80 我的题解 方法一 双指针 left和right分别指向相同元素的左右边界&#xff0c;count记录重复元素的个数&#xff0c;index记录最终数组的长度。 当元素没有重复时&am…