我把「国产Sora」接入了「小爱」,邀你免费体验

news2024/11/17 13:44:57

前段时间,搞了个微信 AI 小助理-小爱(AI),爸妈玩的不亦乐乎。

  • 零风险!零费用!我把AI接入微信群,爸妈玩嗨了,附教程(下)

不仅可以智能问答,文生图的能力也接了进来:

  • 我把「FLUX」接入了「小爱」,微信直接出图,告别一切绘画软件!

有朋友问:既然可以文生图,能否文生视频呢?

今天就来盘它!

相比文生图,文生视频更为复杂。你要知道,OpenAI 的 Sora 至今还停留在宣传片里。

不过,国产 Sora 已经遍地开花,从快手的可灵、智谱的清影,再到字节即将开放的PixelDance,但这些模型都是闭源的。

要问开源界有没有能打的?

其实,猴哥之前有分享过:

  • EasyAnimate-v3 实测,阿里开源视频生成模型,5 分钟带你部署体验,支持高分辨率超长视频

384x672 分辨率的模型,大约需要 11.5G 显存,效果嘛,也差点意思。

最近, 智谱AI开源了视频生成大模型 CogVideoX。

今日分享,就带大家实操:本地部署 CogVideoX,并将文生视频的能力接入小爱,邀你免费体验。

当前,CogVideoX 分为商业版和开源版,前者需要付费,后者可私有化部署。

1. CogVideoX 商业版

官方文档:https://open.bigmodel.cn/dev/howuse/cogvideox

商业版提供了 API 接口,0.5 元/张,支持文生视频和图生视频,目前没看到有免费额度。
不过,新用户注册,可免费获得 GLM-4-Air 2000万Tokens。👉注册地址

下面实操带大家玩转 CogVideoX 开源版👇

2. CogVideoX 开源版

开源地址:https://github.com/THUDM/CogVideo

项目开源协议:Apache,因此可以随便商业化哦。

官方称 CogVideoX 是清影同源的开源版本视频生成模型。共分为三个版本:

CogVideoX-2B 小杯模型:

  • 显存需求:4GB 起,推荐 FP16 推理;

CogVideoX-5B 大杯模型:

  • 显存需求:5GB 起,推荐 BF16 推理;
  • 大杯更出色!就是速度要慢一拍。

注:一个月前,玩 CogVideoX 需要 18G 显存,这门槛,怕是挡住了不少 AI 爱好者吧。

2.1 在线体验

国内直达体验地址:https://modelscope.cn/studios/ZhipuAI/CogVideoX-5b-demo

5B 模型已上线魔搭社区,感兴趣的小伙伴可以在线体验。

当然,如果要嵌入到自己应用中,就得自己部署了。

2.2 本地跑通

首先需要将模型 down 到本地。

模型下载地址:https://modelscope.cn/models/ZhipuAI/CogVideoX-2b

模型参数量比较大,推荐大家使用 modelscope 命令行下载:

pip install modelscope
modelscope download --model ZhipuAI/CogVideoX-2b

模型文件默认保存在:

~/.cache/modelscope/hub/ZhipuAI/CogVideoX-2b

如果采用原生 diffusers 库进行测试,实测峰值 4G 显存就够:

480 x 720 分辨率的 6 秒视频(fps=8),Diffusion 部分推理耗时 03:25

100%|█| 50/50 [03:25<00:00,  4.11s/it]

如果关闭 vae 部分的优化,峰值GPU需要 12G 显存:

# pipe.vae.enable_slicing()
# pipe.vae.enable_tiling()

这里,也可以采用官方推荐的 PytorchAO 库,来进行量化加速,降低 CogVideoX 的内存需求。

参见:https://github.com/sayakpaul/diffusers-torchao

先把 torchao 装上:

pip install torchao

采用 torchao,会将每个模型量化后,再执行推理:

text_encoder = T5EncoderModel.from_pretrained(model_path, subfolder="text_encoder", torch_dtype=torch.float16)
quantize_(text_encoder, fpx_weight_only(3, 2))

transformer = CogVideoXTransformer3DModel.from_pretrained(model_path, subfolder="transformer", torch_dtype=torch.float16)
quantize_(transformer, fpx_weight_only(3, 2))

vae = AutoencoderKLCogVideoX.from_pretrained(model_path, subfolder="vae", torch_dtype=torch.float16)
quantize_(vae, fpx_weight_only(3, 2))

我们来看下,显存占用情况和推理耗时:

Diffusion 部分推理耗时 02:35,减少了近 1 分钟,赞!

100%|█| 50/50 [02:35<00:00,  3.36s/it]

此外,如果你觉得本地装环境实在太麻烦,推荐了解下 CogVideoX-Fun 这个项目。基于 CogVideoX 结构重构了 pipeline,支持更多分辨率。

重点是提供了 docker 方式安装,方便快速部署体验,不好用,直接删库跑路。而且提供的是阿里云镜像,国内下载无压力。

sudo docker pull mybigpai-public-registry.cn-beijing.cr.aliyuncs.com/easycv/torch_cuda:cogvideox_fun

这里也跑一个测试用例给大家看看:2B 模型 11G 显存,GPU 利用率打满:

384 x 672分辨率的 6 秒视频(fps=8),耗时 02:32:

100%|█| 50/50 [02:32<00:00,  3.04s/it]

最后,给大家放两个生成 demo 感受下:

a panda

a cat

2.3 服务部署

本地测试成功,我们封装成一个 fastapi 后端服务,之前的教程中多次提到过,这里就不再赘述了。

请求体定义如下:只要把文生视频的 prompt帧数 传进来就好了。

app = FastAPI()

class VideoRequest(BaseModel):
    prompt: str
    num_frames: int = 49

3 接入小爱

我们先来新增一个意图类别:视频生成,判断用户是否需要小爱调用视频生成服务。

至此,小爱可以识别的意图共有 8 个:

['天气', '步行规划', '骑行规划', '驾车规划', '公交规划', '地点推荐', '图片生成', '视频生成']

因为 CogVideoX 只支持英文,如果要让用户输入英文提示词,估计头都大了。

所以,触发视频生成后,小爱需要根据用户输入,自动生成给 CogVideoX 的英文提示词。

这步其实不难,完全可以交给大模型来做,比如可以撰写提示词:

sys_video_gen = '''
用户请求视频生成,请从这段聊天记录中找到和视频生成相关的关键词,最终生成给视频生成模型的英文提示词,只回答英文提示词内容,无需回答其它任何内容。
要求:
1.提示词的关键组成部分包括:(镜头语言 +景别角度+ 光影) + 主体 (主体描述) + 主体运动 +场景 (场景描述) + (氛围)
2.提示词中不要出现中文,只使用英文。
'''

最后,我们来看看测试效果吧:

写在最后

本文通过本地部署 CogVideoX,成功为小爱接入了文生视频能力。

如果对你有帮助,不妨点赞 收藏备用。

大家有更好的想法,欢迎来聊👇


为方便大家交流,新建了一个 AI 交流群,欢迎感兴趣的小伙伴加入。

小爱也在群里,公众号后台「联系我」,拉你进群。


猴哥的文章一直秉承分享干货 真诚利他的原则,最近陆续有几篇分享免费资源的文章被CSDN下架,申诉无效,也懒得费口舌了,欢迎大家关注下方公众号,同步更新中。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTML+CSS 水滴登录页

文章目录 一、效果演示二、Code1.HTML2.CSS 三、实现思路拆分 一、效果演示 实现了一个水滴登录页的效果。页面包含一个水滴形状的登录框和两个按钮&#xff0c;登录框包括用户名、密码和登录按钮&#xff0c;按钮分别为忘记密码和注册。整个页面的设计非常有创意&#xff0c;采…

每日一练 2024.9.29(1)

目录 解题思路与代码实现 一、问题分析 二、解题策略 伪代码&#xff1a; 三、代码实现 四、代码解析 五、解题过程总结 六、运行过程示例 示例 1&#xff1a; 示例 2&#xff1a; 七、对比分析 八、改进建议 九、总结 解题思路与代码实现 这道题目要求我们模拟买…

如何解决调试dev-出++5.11不成功问题

&#x1f3c6;本文收录于《全栈Bug调优(实战版)》专栏&#xff0c;主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&am…

【CKA】二、节点管理-设置节点不可用

2、节点管理-设置节点不可用 1. 考题内容&#xff1a; 2. 答题思路&#xff1a; 先设置节点不可用&#xff0c;然后驱逐节点上的pod 这道题就两条命令&#xff0c;直接背熟就行。 也可以查看帮助 kubectl cordon -h kubectl drain -h 参数详情&#xff1a; –delete-empty…

一个家越来越有钱,是因为女人身上有这3个好习惯!

在一个家庭中&#xff0c;女人往往扮演着举足轻重的角色。 她们不仅是家庭的支柱&#xff0c;也是家庭和谐与繁荣的重要因素。 正所谓“家和万事兴”&#xff0c;一个家庭是否能够兴旺发达&#xff0c;与家中女人的习惯和态度息息相关。 实际上&#xff0c;一个家越来越有钱…

ubuntu20.04安装CUDA与cudnn

这里写目录标题 一、NVIDIA显卡驱动安装二、安装CUDA官网找对应版本下载安装文件安装配置环境变量 三、安装cuDNN选择版本另一种下载方式 四、cuDNN与CUDA关系CUDAcuDNN的依赖关系与CPU的交互开发编程角度图示 总结 一、NVIDIA显卡驱动安装 我这里之前就装好了 使用命令 nvid…

DCDC电源设计工具(软件)(二)—— DC/DC Designer(MPS)

目录 一、简介 二、主页介绍 1、芯片选择 &#xff08;1&#xff09;在数据库中选择芯片 &#xff08;2&#xff09;通过下拉列表/具体型号选择芯片 2、编辑参数 &#xff08;1&#xff09;输入主要规格 &#xff08;2&#xff09;输入可选规格 &#xff08;3&…

基于Arduino的自弹尤克里里机器人

需要项目源码资料的可以私信我 基于Arduino的自弹尤克里里机器人 一、简介二、材料清单三、工具四、实现过程步骤1&#xff1a;实物图步骤2&#xff1a;3D打印部件步骤3&#xff1a;组装上半部分步骤4&#xff1a;组装下半部分步骤5&#xff1a;安装导轨步骤6&#xff1a;设置…

人工打电话的操作步骤指南

如果有一套外呼系统&#xff0c;那么在功能上有哪些具体如何操作 在进行人工电话沟通时 一套清晰、高效的操作流程对于实现沟通目标至关重要 以下是详细的人工打电话操作步骤 涵盖从准备到后续跟进的全过程 如果有一套外呼系统&#xff0c;那么在功能上有哪些具体如何操作 …

CST仿真分析:圆柱形谐振腔的模式分析

波导谐振器一般可以由波导两端短路形成&#xff0c;矩形和圆柱形谐振腔比较常见。矩形谐振腔模式的表示&#xff0c;是从波导的TEmn和TMmn变成了TEmnp和TMmnp&#xff0c;p是沿z方向的周期。之所以我们这里分析圆柱形&#xff0c;一是三个下角标更不容易理解&#xff08;TEnip和…

组合优化与凸优化 学习笔记5 对偶拉格朗日函数

有的时候约束条件有点难搞&#xff0c;我们可以把它放到目标函数里面。 记得之前凸函数的时候的结论吗&#xff1f;一大堆函数&#xff0c;每一段都取最大的&#xff0c;最后会得到一个凸函数。同理&#xff0c;每一段都取最小的&#xff0c;得到的是一个凹函数。就这样&#x…

【如何学习操作系统】——学会学习的艺术

&#x1f41f;作者简介&#xff1a;一名大三在校生&#xff0c;喜欢编程&#x1fab4; &#x1f421;&#x1f419;个人主页&#x1f947;&#xff1a;Aic山鱼 &#x1f420;WeChat&#xff1a;z7010cyy &#x1f988;系列专栏&#xff1a;&#x1f3de;️ 前端-JS基础专栏✨前…

酒店智能开关:引领未来住宿体验的新篇章

酒店智能开关作为智能化改造的关键一环&#xff0c;正逐步成为提升酒店服务品质、管理效率和竞争力的新引擎。本文将深入探讨酒店智能开关的特点、应用实例及其为酒店业带来的多方面变革。 一、酒店智能开关的特点 酒店智能开关是一种基于智能化技术的电力控制设备&#xff0c;…

Mysql(3:Mysql事务)

目录 说明 前言 事务 ACID: 并发事务的问题: 解决方案: uddo log 和redo log的区别: 先了解数据库的页概念: redo log: undo log: 区别: mvcc: 说明 本文适合刚刚学习Java的初学者,也可以当成阿岩~的随手笔记.接下来就请道友们和我一起来学习吧! 如果本文有写的不对…

SSM环卫人员管理平台—计算机毕业设计源码36412

目 录 摘要 1 绪论 1.1背景及意义 1.2国内外研究概况 1.3研究内容 1.4 ssm框架介绍 1.5论文结构与章节安排 2 环卫人员管理平台系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1数据增加流程 2.2.2数据修改流程 2.2.3数据删除流程 2.3 系统功能分析 2.3.1 功能性…

如何使用 Bittly 进行串口指令调试 - 复杂参数构建与解析

在使用串口进行数据收发时&#xff0c; 如果数据内容比较复杂&#xff0c; 例如包含了时间戳或者校验码等需要计算的数据或者需要处理不同的数据类型以及大小端等&#xff0c;在这种情况下常见的串口调试助手可能处理起来比较麻烦&#xff0c; 但使用 Bittly 的话&#xff0c; …

大功率蓝外光激光模组能使用多长时间?

在高科技迅猛发展的今天&#xff0c;大功率蓝外光激光模组作为精密光学技术的重要成果&#xff0c;广泛应用于科研探索、工业加工及安防监控等多个领域。其强大的光束能量与独特的波长特性&#xff0c;为各行各业带来了前所未有的效率提升与创新可能。然而&#xff0c;对于这一…

量化金融中的 AI 革命:LLMs 如何重新定义交易策略

作者:老余捞鱼 原创不易,转载请标明出处及原作者。 写在前面的话: 量化金融领域正在经历由大型语言模型(LLMs)引起的人工智能革命,这些模型正在改变交易策略的开发和实施方式,提高市场分析的精确度,增强情绪分析和交易信号的有效性,优化算法交易策略,并强化风…

助农小程序|助农扶贫系统|基于java的助农扶贫系统小程序设计与实现(源码+数据库+文档)

助农扶贫系统小程序 博主介绍&#xff1a;✌️大厂码农|毕设布道师&#xff0c;阿里云开发社区乘风者计划专家博主&#xff0c;CSDN平台Java领域优质创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。✌️ 主要项目&#xff1a;小程序、SpringBoot、SSM、Vue、…

Docker:安装 Memcached 对象缓存的技术指南

请关注微信公众号&#xff1a;拾荒的小海螺 博客地址&#xff1a;http://lsk-ww.cn/ 1、简述 缓存是一种提高应用程序性能的常用技术&#xff0c;通过在内存中存储频繁访问的数据&#xff0c;可以显著减少对数据库的访问次数&#xff0c;从而提升响应速度。Memcached是一个高…