ChatGLM-6B是由清华大学唐杰团队开发的开源的、支持中英双语问答的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。ChatGLM-6B使用了和ChatGLM相同的技术,针对中文问答和对话进行了优化。经过约 1T 标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的 ChatGLM-6B 已经能生成相当符合人类偏好的回答。
Whisper是一种通用语音识别模型。它是在各种音频的大型数据集上进行训练的,也是一个多任务模型,可以执行多语言语音识别、语音翻译和语言识别。
简而言之,ChatGLM-6B是可以部署在本地离线使用的,据说是对标ChatGPT 3.5的。
无论是在渗透测试或其他方向的学习过程中,我们经常会看一些教程视频,动辄几十分钟,有点枯燥,本文的思路是在本地部署ChatGLM-6B和whisper,使用whisper识别视频或语音文件,提取语音并转化为文字,再使用ChatGLM-6B来以精炼的语言概括内容。这对于一些朋友可能是有帮助的。
我用的是A卡,所以在配置方面会有些不同。
拷贝ChatGLM-6B并安装依赖项。
git clone https://github.com/THUDM/ChatGLM-6B
sudo pip install -r requirements.txt
下载模型
git clone https://huggingface.co/THUDM/chatglm-6b-int4
修改web_demo.py,将模型路径指定为绝对路径,没有GPU时,可以在 CPU 上进行推理,但是推理速度会很慢。
执行后访问http://127.0.0.1:7860,可以使用ChatGLM-6B。
python web_demo.py
使用docker拉一下whisper-webui的镜像,最好将容器中7860映射到宿主机的其他端口,否则会跟ChatGLM冲突,在后台运行。
sudo docker run -d -p 7860:7860 registry.gitlab.com/aadnk/whisper-webui:latest
large-v2模型下载地址:
https://openaipublic.azureedge.net/main/whisper/models/81f7c96c852ee8fc832187b0132e569d6c3065a3252ed18e56effd0b6a73e524/large-v2.pt
容器内是没有内置模型的,直接运行会出错,需要将容器目录的/root/.cache/whisper 绑定到宿主机上的模型所在目录。结束掉docker容器后,下载最新的large-v2模型,再次启动容器
sudo docker run -d -p 7861:7860 --mount type=bind,source=/home/y/whisper-webui/whisper,target=/root/.cache/whisper registry.gitlab.com/aadnk/whisper-webui:latest
选择模型和语言,并在URL处写入视频地址,支持小两千个网址,详细在:
https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md
常见的B站,youtube,痘印,逗鱼等都支持。
稍作等待后即可提取出文字。
将文字输入到ChatGLM中,随便使用个prompt,如:帮我概括一下,帮我总结一下等等。即可快速提取视频要点。
该方法适用于在本地操作,有些朋友可能遇到无法访问ChatGPT或IP被封、帐号被封的情况,可以尝试一下这种方法。当然如果你能正常访问ChatGPT的话,还是它速度快一点。