如何在本地部署chatGLM3

news2024/11/27 8:26:09

文章目录

    • 1. 参考
    • 2. ChatGLM3 介绍
    • 3. 本地运行
      • 3.1 硬件配置
      • 3.2 下载ChatGLM3代码
      • 3.3 下载需要加载的模型
      • 3.4 运行大模型
        • 3.4.1 ChatGLM3目录介绍
        • 3.4.2 安装依赖
        • 3.4.2 综合demo演示
        • 3.4.3 启动
          • 对话模式
          • 工具模式
          • 代码解释器
    • 4. 总结

前面一章节有讲到 基于MacBook Pro M1芯片运行chatglm2-6b大模型,今天给大家带来更为震撼的ChatGLM3大模型在本地Mac上的使用。

1. 参考

  • chatglm3-6b模型地址
  • ChatGLM3介绍
  • conda安装

2. ChatGLM3 介绍

ChatGLM3 是智谱AI和清华大学 KEG 实验室联合发布的对话预训练模型。ChatGLM3-6B 是 ChatGLM3 系列中的开源模型,在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上,ChatGLM3-6B 引入了如下特性:

  • 更强大的基础模型。
  • 更完整的功能支持。
  • 更全面的开源序列。

详细介绍参考官方README介绍。

3. 本地运行

3.1 硬件配置

  • 芯片:Apple M1 Pro
  • 内存:32 GB

3.2 下载ChatGLM3代码

cd /Users/joseph.wang/llm
git clone https://github.com/THUDM/ChatGLM3.git

3.3 下载需要加载的模型

此步骤下载模型需要科学上网,同时需要耐心,因为下载的时间会比较长。
这里我使用的是 ChatGLM3-6B 的模型,模型文件会很大

模型列表在这里插入图片描述

cd /Users/joseph.wang/llm/ChatGLM-6B
mkdir model
cd model
git lfs install
git clone https://huggingface.co/THUDM/chatglm3-6b

在这里插入图片描述

3.4 运行大模型

3.4.1 ChatGLM3目录介绍
  • basic_demo: 基础demo(cli_demo和web_demo)
  • composite_demo : 综合demo(聊天、工具和代码解释器)
  • finetune_demo:基础模型微调
  • langchain_demo:langchain demo
  • model:这个事自己创建的,将模型文件放在此目录下
  • openai_api_demo: openapi的api接口demo
  • resources: 用到的一些文件
  • tensorrt_llm_demo:tensorTR-llm demo
  • tools_using_demo:工具调用
    在这里插入图片描述
3.4.2 安装依赖
cd /Users/joseph.wang/llm/ChatGLM3
conda activate ChatGLM3 #切换python环境
pip install -r requirements.txt
  • 为了保证 torch 的版本正确,请严格按照 官方文档 的说明安装。

此外,使用 Code Interpreter 还需要安装 Jupyter 内核:

ipython kernel install --name chatglm3-demo --user
3.4.2 综合demo演示

详见:综合demo

cd /Users/joseph.wang/llm/ChatGLM3/
cd composite_demo

官方说直接运行main.py,但是这个main.py会调用demo_chat.py、demo_ci.py、demo_tool.py三个模块,而这三个模块调用的模型文件其实是通过client.py这个模块来实现的,里面是具体定义了模型的路径。

编辑 client.py文件,修改模型的

...
...
# 修改为通过本地加载大模型,这里改本地下载后大模型的路径即可。
MODEL_PATH = os.environ.get('MODEL_PATH', '/Users/joseph.wang/llm/ChatGLM3/model/chatglm3-6b')
...
...
3.4.3 启动
cd /Users/joseph.wang/llm/ChatGLM3/composite_demo
streamlit run main.py

内存消耗
在这里插入图片描述

对话模式

在这里插入图片描述

在这里插入图片描述

工具模式

查天气 - 失败
在这里插入图片描述

代码解释器

画三角形 - 失败
画爱心
画爱心 - 失败
在这里插入图片描述
画爱心 - 成功
在这里插入图片描述

4. 总结

整体用下来,感觉还是很震撼的,对话模式确实准确率要高不少;工具模式需要提交通过代码来实现;代码解释器的准确率一般般。但是这个也是仅限于我的mac的资源配置下的使用,相信在高配置的显卡加持线其综合表现会更强。

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

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

相关文章

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之MenuItemGroup组件

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之MenuItemGroup组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、MenuItemGroup组件 该组件用来展示菜单MenuItem的分组。 子组件 无 接…

一次Kubernetes Pod内存异常导致的测试环境耗时异常问题排查过程

概述 在使用公司内部后台系统测试环境时发现一个请求加载慢的问题,简简单单的列表,查询MongoDB数据库,测试环境不过几百上千条数据而已,请求耗时居然高达5~6秒: 作为对比,生产环境的请求响应截图如下&…

flask+vue+python跨区通勤人员健康体检预约管理系统

跨区通勤人员健康管理系统设计的目的是为用户提供体检项目等功能。 与其它应用程序相比,跨区通勤人员健康的设计主要面向于跨区通勤人员,旨在为管理员和用户提供一个跨区通勤人员健康管理系统。用户可以通过系统及时查看体检预约等。 跨区通勤人员健康管…

Leetcode834. 树中距离之和

Every day a Leetcode 题目来源:834. 树中距离之和 解法1:换根 DP 题解:【图解】一张图秒懂换根 DP!(Python/Java/C/Go/JS) 暴力做法是,以点 i 为为树根,从 i 出发对树进行深度…

【MATLAB源码-第135期】基于matlab的变色龙群优化算法CSA)机器人栅格路径规划,输出做短路径图和适应度曲线。

操作环境: MATLAB 2022a 1、算法描述 变色龙群优化算法(Chameleon Swarm Algorithm,CSA)是一种新颖的群体智能优化算法,受到自然界中变色龙捕食和社交行为的启发。变色龙以其独特的适应能力而著称,能够根…

一分钟了解电脑关机快捷键是什么!

在日常使用电脑的过程中,了解一些基本的快捷键是提高效率的关键之一。其中,电脑关机快捷键是一个方便且迅速的操作,使您可以在不用通过烦琐的菜单操作的情况下,快速关机电脑。在本文中,我们将探讨电脑关机快捷键是什么…

【vue3学习笔记】自定义hook;toRef与toRefs

尚硅谷Vue2.0Vue3.0全套教程丨vuejs从入门到精通 课程 P156节 《自定义hook》笔记: 实现一个鼠标“打点”功能: 注意点: (1)组件卸载时需要接触window上的事件绑定,否则组件卸载后window上绑定的事件还在生…

R语言学习case10:ggplot基础画图Parallel Coordinate Plot 平行坐标图

step1: 导入ggplot2库文件 library(ggplot2)step2&#xff1a;带入自带的iris数据集 iris <- datasets::irisstep3&#xff1a;查看数据信息 dim(iris)维度为 [150,5] head(iris)查看数据前6行的信息 step4&#xff1a;利用ggplot工具包绘图 plot5 <- ggparcoord(…

mac如何实现升级node版本、切换node版本

一、 查看node所有版本&#xff08;前提:安装了nodejs&#xff09; npm view node versions二、安装指定node版本 sudo n 版本号三、检查目前安装了哪些版本的node&#xff0c;会出现已安装的node版本 n四、切换已安装的node版本 sudo n 版本号其他命令 1、sudo npm cache…

ChatGPT之制作短视频

引言 今天带来了如何使用 ChatGPT和剪映来制作简单的短视频教程&#xff0c;在这其中 ChatGPT的作用主要是帮我们生成文案&#xff0c;剪映的功能就是根据文案自动生成视频&#xff0c;并配上一些图片、动画、字幕和解说。 ChatGPT生成文案 首先&#xff0c;我们需要使用提示…

Open CASCADE学习|拉伸

目录 1、沿方向拉伸 2、沿路径拉伸 3、变形拉伸 1、沿方向拉伸 #include <Geom_CylindricalSurface.hxx> #include <gp_Ax3.hxx> #include <GeomAPI_Interpolate.hxx> #include <BRepAdaptor_Curve.hxx> #include <BRepBuilderAPI_MakeEdge.hxx&…

挖矿系列:细说Python、conda 和 pip 之间的关系

继续挖矿&#xff0c;挖金矿&#xff01; 1. Python、conda 和 pip Python、conda 和 pip 是在现代数据科学和软件开发中常用的工具&#xff0c;它们各自有不同的作用&#xff0c;但相互之间存在密切的关系&#xff1a; Python&#xff1a;是一种解释型、面向对象的高级程序设…

Jenkins升级后,构建任务配置界面重复错位

最近我把公司的Jenkins服务升级到了最新版本&#xff0c;升级完成后&#xff0c;点了一下构建任务&#xff0c;发现能够构建成功&#xff0c;就以为顺利完成升级了&#xff0c;下班走了&#xff0c;结果第二天&#xff0c;进入构建任务配置界面发现&#xff0c;界面一团乱麻&am…

Django的web框架Django Rest_Framework精讲(四)

文章目录 1.DRF认证组件Authentication2.权限Permissions3.限流Throttling4.过滤Filtering5.排序6.分页Pagination7.异常处理 Exceptions8.自动生成接口文档 大家好&#xff0c;我是景天&#xff0c;今天我们继续DRF的最后一讲&#xff0c;Django的web框架Django Rest_Framewor…

边缘计算网关在智能制造中有哪些应用?-天拓四方

在智能制造和工业生产环境中&#xff0c;数据已经成为新的生产要素&#xff0c;工业生产对实时性、灵活性和智能化也提出了更高的要求。而在这个过程中&#xff0c;边缘计算网关发挥着不可或缺的作用。它作为设备层与网络层之间的关键桥梁&#xff0c;确保了数据的实时、高效处…

Unity3d Cinemachine篇(六)— TargetGroup

文章目录 前言使用TargetGroup追随多个模型1. 创建二个游戏物体2. 创建TargetGroup相机3. 设置相机4. 完成 前言 上一期我们简单的使用了ClearShot相机&#xff0c;这次我们来使用一下TargetGroup 使用TargetGroup追随多个模型 1. 创建二个游戏物体 2. 创建TargetGroup相机 3…

自学Java的第十九天

一&#xff0c;每日收获 1.排序 2.冒泡排序法 3.查找 4.多维数组-二维数组 二&#xff0c;新名词与小技巧 三&#xff0c;今天学习中所遇到的困难 一&#xff0c;每日收获 1.排序 ① 排序的介绍 排序是将多个数据&#xff0c;依指定的顺序进行排列的过程。 ② 排序的…

kafka客户端生产者消费者kafka可视化工具(可生产和消费消息)

点击下载《kafka客户端生产者消费者kafka可视化工具&#xff08;可生产和消费消息&#xff09;》 1. 前言 因在工作中经常有用到kafka做消息的收发&#xff0c;每次调试过程中&#xff0c;经常需要查看接收的消息内容以及人为发送消息&#xff0c;从网上搜寻了一下&#xff0…

设计一个可以智能训练神经网络的流程

设计一个可以智能训练神经网络的流程,需要考虑以下几个关键步骤: 初始化参数:设定初始的batch size和learning rate,以及其他的神经网络参数。训练循环:开始训练过程,每次迭代更新网络的权重。监控loss:在每个训练周期(epoch)后,监控loss的变化情况。动态调整:根据l…

redis大数据统计之hyperloglog,GEO,Bitmap

目录 一、亿级系统常见的四中统计 1、聚合统计 2、排序统计 3、二值统计 4、基数统计 二、hyperloglog 去重的方式有哪些&#xff1f; hyperloglog实战演示 1、技术选型 2、代码演示 三、GEO GEO实战演示 四、Bitmap 一、亿级系统常见的四中统计 1、聚合统计 聚…