如何在本地部署chatGLM3

文章目录

    • 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 的模型,模型文件会很大

模型列表如何在本地部署chatGLM3_第1张图片

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:工具调用
    如何在本地部署chatGLM3_第2张图片
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

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

对话模式

工具模式

查天气 - 失败

代码解释器

画三角形 - 失败

画爱心 - 失败

画爱心 - 成功
如何在本地部署chatGLM3_第3张图片

4. 总结

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

你可能感兴趣的:(LLM,chatGML3)