学习tips - 离线使用ChatGLM+Whisper概括视频内容
2023-4-8 15:7:33 Author: 关注安全技术(查看原文) 阅读量:47 收藏

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的话,还是它速度快一点。


文章来源: http://mp.weixin.qq.com/s?__biz=MzA4MDMwMjQ3Mg==&mid=2651868443&idx=1&sn=591a76f51763e9cca12ed4f6f099bb78&chksm=8442b5fcb3353cea4f37fcd3ccefa656bd764a9b392bb589f9e1b6d12e84473a393e7079c4e3#rd
如有侵权请联系:admin#unsafe.sh