ChatGLM-6B本地cpu部署

    ChatGLM-6B是清华团队研发的机器人对话系统,类似ChatGPT,但是实际相差很多,可以当作一个简单的ChatGPT。

    ChatGLM部署默认是支持GPU加速,内存需要32G以上。普通的机器无法运行。但是可以部署本地cpu版本。

    本地部署,需要的环境:

  •      python3.9及以上
  •      gcc 

    这个框架本身就是python编写的,所以需要python环境。另外,运行的时候,需要加载cpu内核,所以需要编译本地内核,gcc环境就是用来编译quantization_kernels.c和quantization_kernels_parallel.c文件的。

     gcc环境在windows上,可以通过mingw来安装,也可以通过tdm-gcc来安装。

    我本地的相关环境:

    1、克隆源码

git clone https://github.com/THUDM/ChatGLM-6B

    2、安装依赖

cd ChatGLM-6B
pip install -r requirements.txt

    3、改变源码web_demo.py支持cpu

    默认代码:

    修改支持cpu:

tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b-int4", trust_remote_code=True)
model = AutoModel.from_pretrained("THUDM/chatglm-6b-int4", trust_remote_code=True).float()
model = model.eval()

    模型的名字由THUDM/chatglm-6b改为THUDM/chatglm-6b-int4 

    gpu模型源码中.half().cuda()替换为.float() 

    4、运行python web_demo.py

python web_demo.py

    模型第一次加载会去https://huggingface.co/THUDM/chatglm-6b-int4下载pytorch_model.bin模型文件。

     还会使用安装的gcc编译quantization_kernels.c和quantization_kernels_parallel.c文件,生成动态库quantization_kernels.so和quantization_kernels_parallel.so。

     5、运行成功,会打开浏览器,并直接显示对话框,可以输入问题,不过这个回答很慢:

    提出问题,并不是秒回,很慢,感觉还是内存的问题,我的机器16G内存,效果好像也不是很好。 

   /

   几个抽风的问题:

    1、我昨天在电脑上运行好好的,结果今天来测试,直接运行python web_demo.py就报了这样的错误:504 Server Error: Gateway Time-out for url: https://huggingface.co/api/models/THUDM/chatglm-6b

     这个错误有点蛋疼,貌似是去下载模型文件,但是远程地址不知道为什么就504了,好在这些模型可以通过加载本地缓存的模型,解决办法就是手动下载这些模型文件到一个指定目录。 

    https://huggingface.co/THUDM/chatglm-6b-int4/tree/main ,把这里的文件,包括json文件全部下载到项目路径下的models目录中:

    改动web_demo.py文件内容:

tokenizer = AutoTokenizer.from_pretrained("./models", trust_remote_code=True)
model = AutoModel.from_pretrained("./models", trust_remote_code=True).float()
model = model.eval()

  2、找不到模块transformers_modules,如下所示:

    我昨天运行好好的,也就是说这个模块肯定是有的,不知道今天抽什么风,竟然没有,解决办法就是把当前transformers=4.27.1版本降级到4.26.1:

    最后再来感受一下chatglm对话: 

    这个结果全部显示完,用了差不多10分钟,哈哈,挤牙膏似的。 

    完。 

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

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

相关文章

Python学习之路(爬虫基础)

Python学习之路(爬虫基础) 前两部分已经更新了python我认为一些比较难以区分开来的数据类型已经针对excel及csv文件的操作,在涉及到神经网络训练亦或是数学建模中,前面所提到的两部分往往至关重要。数据格式不清晰操作不正确或者…

计算机专业学生如何确定自己的方向

关于计算机专业学生如何确定自己的方向是一件很重要的事情,我自己也是大学大一开学自己慢慢摸索的,摸索了快一年确定了自己的方向C和Linux服务器开发,所以我会把我所认知的分享出来,关于还不知道自己方向的还在迷茫的同学希望这编…

【AI编程工具合集】42 款 AI 代码助手工具大盘点!开发效率神器!

0. 未来百科 未来百科(https://nav.6aiq.com),是一个知名的AI产品导航网站 —— 为发现全球优质AI工具而生 。目前已 聚集全球3000优质AI工具产品 ,旨在帮助用户发现全球最好的AI工具,同时为研发AI垂直应用的创业公司提供展示窗口&#xff0c…

chatgpt赋能python:PythonTile:一种强大的界面构建工具

Python Tile:一种强大的界面构建工具 Python Tile是一种基于Python编程语言的界面构建工具,其目的是帮助开发者快速创建精美的用户界面,从而提高应用程序的用户体验。本文将介绍Python Tile的功能和优势,并讨论其在实际开发中的应…

chatgpt赋能python:Python代码出现错误?别慌!这里有一些有用的调试技巧和工具!

Python代码出现错误?别慌!这里有一些有用的调试技巧和工具! Python作为一种高级编程语言,简单易学,便于使用。但是,像所有语言一样,Python代码可能会出现错误。在这篇文章中,我将介…

chatgpt赋能python:Python内置GUI:使用Tkinter构建优秀的用户接口

Python内置GUI:使用Tkinter构建优秀的用户接口 当今,Graphical User Interface(GUI)是软件界面设计中的重要组成部分。GUI可以使软件效果更加醒目且易用,可使用户能够快速而轻松地使用各种应用程序,从而提…

python操作word——python-docx和python-docx-template模块

前言:项目用到了导出文档,综合考虑使用python-docx模块 目录 python-docx安装docx文档布局词汇三个部分文档段落文字块 四级结构(表格) 使用导入word读操作获取段落获取段落文本内容获取文字块文本内容遍历表格表格设置字体样式 …

工具软件中的一些操作记录

工具软件中的一些操作记录 0. 目的:A. VisioA01.Visio图跨文件复制保持原样A02.带有公式的visio 插入到word后模糊变形,如何保持原样? B. Windows系统B01. Windows 防火墙自动吞下载文件,提示病毒 C. Visual StudioC01. C/C 混合编…

C++及QT5.12.6学习日记第一周(3.1-3.7)

目录 第一天3.1 星期三 第二天3.2 星期四 第三天3.3 星期五 第四天3.4 星期六 第五天3.5 星期日 第六天3.6 星期一 第七天3.7 星期二 本周总结: 第一天3.1 星期三 软件安装与环境配置V C常用编译器有:DevC、VC6.0、Visual Studio等 安装Vis…

Qt+html+JavaScript实现类似QQ聊天界面的气泡效果

这是一个简单的类似QQ聊天界面的Demo,用Qt实现,在QWebView里嵌入网页的方式实现。先看效果图: 无论怎样,我觉得自己动手写出来的东西才是自己的,所以源码不全,重点的代码我会放上来。只是模拟实现了两个…

基于Qt的聊天软件设计实现手把手教学——高仿QQUI设计(一)

文章目录 前言一、使用工具1. Qt Creator 二、项目介绍1.客户端1.1 Socket套接字 2.服务端2.1 数据库2.2 数据处理 3.效果图4.总体系统架构图 小结 前言 最近想把自己毕业设计拿出来分享,我是做了一个可以通过局域网聊天的一个聊天软件。UI设计方面我也是尽力往QQ方…

基于QML模拟QQ群聊窗口

据说最近要开发简单的IM工具,于是兴起,研究了下QQ聊天窗口,大概模拟了一下群聊的聊天显示界面,遂与大家分享之 画面粗糙还望海涵 图片有点大,原理基本就是使用listview来显示每一条记录,别人的记录显示在左侧,自己的聊天记录显示在右侧,但是他们公用的一个内容控件 贴下…

❤️Java实现模拟QQ(消息通信+登陆界面美化)❤️

一、登陆界面的实现 登陆界面主要使用了JFrame,以及相关的一些组件,并且在界面中加上监听 登陆界面效果图 登陆界面代码Login类 package com.lding.login;import com.lding.ui.MsgUI;import javax.swing.*; import java.awt.*; import java.io.IOExce…

QT qq登陆界面设计

使用C结合Qt设计的类似QQ的登录界面,以Ui以及代码结合的方式实现,实现了账号注册、号密对比等功能。先看看效果图: 登录界面: 注册界面: 一共有两个窗口,通过槽函数绑定按钮来显示弹窗(注册界面…

QT学习之QQ聊天案例

1、实现功能 本程序模拟实现QQ群聊功能,采用UDP通信方式,可以设置字体,保存聊天记录等,实时显示上线离开人数以及具体人员。可视为简化版的腾讯QQ。目前只有群聊,未实现一对一单独聊天。 完整源代码见:ht…

【教学类-36-01】Midjounery生成的四张图片切片成四张小图

作品展示: 把一张正方形图片的四个等大小图切割成四张图片 背景需求 最近在学习ChatGPT的绘画(midjounery AI艺术) 我想给中班孩子找卡通动物图片(黑白线条),打印下来,孩子们练习描边、涂色…

chatgpt赋能python:Python校验身份证号码真伪

Python校验身份证号码真伪 身份证号码是我们日常生活中非常重要的证件,但也有一些人从事非法活动,对身份证号码进行伪造或者篡改。为了保护公民的合法权益,我们需要使用技术手段来校验身份证号码真伪。而Python作为一种广泛应用于数据处理和…

【科普级别:刚出炉的ChatGPT三连问】

科普级别:刚出炉的ChatGPT三连问 前言【ChatGPT是什么?对我们的生活有什么影响?】【中国为什么不能使用ChatGPT?美国想让中国用户使用吗?】【通义千问、文心一言、ChatGPT你更看好哪一个?】 前言 有些人连C…

又一个国内类ChatGPT模型?【秘塔科技上线自研LLM大模型「对话写作猫」】

又一个国内类ChatGPT模型?【秘塔科技上线自研LLM大模型「对话写作猫」】 (马上被打脸 ~ ~) 一直期待中国有没有类ChatGPT产品可以出现。 昨天,2023年2月27日,秘塔科技上线了自研LLM大模型「对话写作猫」,…

小白入门区块链(通俗易懂)

区块链基础入门 什么是区块链 科技层面解释 数学,密码学,互联网,计算机编程官方解释 区块链是一个分布式的共享账本和数据库,具有去中心化,不可篡改,全程留痕,可以追溯,集体维护&am…