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

ChatGLM3-6B大语言模型离线执行

ChatGLM3-6B大语言模型离线执行

模型准备

一般而言,模型和模型参数可以通过如下三个模型源进行相应的下载:
HuggingFace | ModelScope | WiseModel
本实例中,使用的是HuggingFace的源下载,相应的地址如下:
HuggingFace

环境准备

从HuggingFace下载下来的模型,实际上是包含两个实际的模型库,为了保证模型的准确运行,我们需要对相应的模型库进行选择,例如,我们使用的是PyTorch的模型,因此需要删除另外一个使用safetensors的模型,删除的内容包括:

  • 模型数据文件

模型数据文件

  • 模型的配置文件
    模型配置文件
    这些工作准备好后,直接安装requirements.txt 文件的相应安装包即可 。

快速代码调用

  • 目录切换
cd C:\VM\Chatbot\ChatGLM3-main
  • 加载相应的模块库文件
from transformers import AutoTokenizer, AutoModel
  • 生成token
tokenizer = AutoTokenizer.from_pretrained(r"C:\VM\Chatbot\ChatGLM3-main\THUDM\chatglm3-6b", trust_remote_code=True)
  • 模型的调用
# CPU调用
model = AutoModel.from_pretrained(r"C:\VM\Chatbot\ChatGLM3-main\THUDM\chatglm3-6b", trust_remote_code=True).float()
## GPU调用
model = AutoModel.from_pretrained(r"C:\VM\Chatbot\ChatGLM3-main\THUDM\chatglm3-6b", trust_remote_code=True,device='cuda').float()
  • 模型实例化
 model = model.eval()
  • 模型测试
response, history = model.chat(tokenizer, "Hello", history=[])
print(response)
response, history = model.chat(tokenizer, "晚上睡不着应该怎么办", history=history)
print(response)

执行完成后,系统的运行界面输出结果如下,说明运行成功。
在这里插入图片描述

异常处理
requests.exceptions.ProxyError: (MaxRetryError("HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /THUDM/chatglm3-6b/resolve/main/tokenization_chatglm.py (Caused by ProxyError('Unable to connect to proxy', OSError('Tunnel connection failed: 407 Proxy Authentication Required')))"), '(Request ID: 2bb04d30-be98-4bc9-aba4-0fbcce94da13)')

处理方案

  • 检查是否正确的配置了模型地址- 已经将模型地址指向本地;
  • 检查模型的地址和执行的程序的文件目录等级是否在同一级;
eg:

模型地址为:C:\VM\Chatbot\ChatGLM3-main\THUDM\chatglm3-6b,那么我们的执行程序需要放到: C:\VM\Chatbot\ChatGLM3-main才能保证正常运行。

参考资源
ChatGLM3模型

http://www.lryc.cn/news/338389.html

相关文章:

  • 了解大语言模型的参数高效微调(Parameter-Effcient Fine-Tuning)
  • 2024.4.14力扣每日一题——设计哈希集合
  • SQL explain 显示子查询A类型为ALL怎么优化
  • 网络协议学习——IP协议
  • MATLAB初学者入门(1)—— 基础知识和功能介绍
  • React Css 四种引入方式
  • 题目:输入3个数a,b,c,按大小顺序输出。
  • AI预测体彩排3第3弹【2024年4月14日预测--第1套算法开始计算第3次测试】
  • Android 在xml 布局中如何嵌套 Jetpack Compose
  • Spring Boot统一功能处理(一)
  • 我与C++的爱恋:类与对象(二)
  • BERT入门:理解自然语言处理中的基本概念
  • Discoverydevice.java和activity_discoverydevice.xml
  • 华为OD机试 - 最多颜色的车辆(Java JS Python C C++)
  • 【无人机/平衡车/机器人】详解STM32+MPU6050姿态解算—卡尔曼滤波+四元数法+互补滤波——附3个算法源码
  • NzN的C++之路--构造函数与析构函数
  • 【算法刷题day24】Leetcode:216. 组合总和 III、17. 电话号码的字母组合
  • 一体化泵站的生产制造流程怎样
  • 【1】C++设计模式之【单例模式】
  • 软件设计模式之解释器模式
  • java Web课程管理系统用eclipse定制开发mysql数据库BS模式java编程jdbc
  • Electron 桌面端应用的使用 ---前端开发
  • 【SpringBoot:详解Bean装配】
  • 前端如何将接口返回的码值转成对应的中文展示呢?
  • 智慧公厕中的大数据、云计算和物联网技术引领未来公厕管理革命
  • Excel与项目管理软件比较?哪个是项目组合管理的最佳选择?
  • 过程控制风格的软件架构设计概念及其实际应用
  • WPF 编辑器模式中隐藏/显示该元素
  • 分布式事务 - 个人笔记 @by_TWJ
  • 解决前端笔记本电脑屏幕显示缩放比例125%、150%对页面大小的影响问题--数据可视化大屏