智源社区 2024年07月09日
半小时教你手搓AI视频通话,还有懒人版代码已开源
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

博主Santiago用160行Python代码复刻了GPT-4o的“AI视频通话”功能,并用详细的教程讲解了实现过程。他将OpenCV、Whisper、LangChain等工具整合,并通过Assistant类连接用户、输入设备和AI模型,最终实现了视频通话功能。

👨‍💻 **代码实现:** Santiago利用160行Python代码,使用OpenCV进行画面捕获,并通过Whisper进行语音识别,最终实现视频通话功能。 为了更方便地集成各个模块,Santiago使用LangChain作为大模型编程框架,并利用OpenAI的TTS引擎进行文本合成。 整个系统通过Assistant类连接用户、输入设备和AI模型,实现了用户与AI的实时互动。

💡 **核心功能:** Alloy Voice Assistant包含了视频识别、语音识别、文本处理、文本合成等功能。 例如,它能够识别用户戴的眼镜颜色,甚至还能识别棒球帽上的徽章并分析出所代表的球队。它还可以识别文字,并理解文字的含义,例如识别书名和作者。

💻 **开源代码:** Santiago在GitHub上公开了Alloy Voice Assistant的代码,方便用户学习和体验。 用户只需根据选择的模型调整几行代码并填好API,即可直接使用该程序。

🚀 **未来展望:** Alloy Voice Assistant未来可以进一步提升功能,例如增加屏幕读取的功能,以及开发移动版本。 随着AI技术的不断发展,这类AI视频通话工具将会变得更加强大,为用户提供更多便利和乐趣。

🤖 **技术亮点:** Alloy Voice Assistant的实现充分利用了现有的AI技术,包括OpenCV、Whisper、LangChain等。 Santiago通过整合这些工具,并利用Python进行代码编写,最终实现了功能强大的AI视频通话系统。

🌟 **用户体验:** Alloy Voice Assistant虽然响应速度稍慢,但识别和回答的准确率很高,为用户带来了新奇的体验。 该程序可以用于多种场景,例如与AI进行简单的对话、获取信息等。

🌐 **应用前景:** Alloy Voice Assistant的出现展现了AI技术在人机交互领域的巨大潜力。 未来,AI视频通话技术将会更加成熟,并应用于更多的场景,例如教育、医疗、娱乐等。

👍 **评价:** 网友对Alloy Voice Assistant评价很高,认为它内容很赞,讲解得也很好。 许多网友希望该程序能够增加更多功能,例如屏幕读取和移动版本。

🎉 **总结:** Santiago的Alloy Voice Assistant为用户提供了一个体验AI视频通话的平台,并为开发者提供了学习和借鉴的样本。 该项目展现了AI技术在人机交互领域的潜力,也为未来AI应用的发展提供了新的思路。

🌟 **启示:** 利用现有的AI技术,我们可以构建出更多有趣、实用的应用,为用户带来更好的体验。

💪 **展望:** AI视频通话技术将会不断发展,未来将会出现更多更强大、更智能的AI视频通话工具。

🚀 **未来趋势:** AI视频通话技术将会与其他AI技术融合,例如自然语言处理、图像识别等,为用户提供更丰富的功能和更便捷的体验。

💡 **思考:** AI视频通话技术将会如何改变我们的生活?它将会对哪些行业产生影响?

🤔 **问题:** 如何提高AI视频通话的响应速度?如何保证AI视频通话的安全性?

💬 **讨论:** 你认为AI视频通话技术将会如何发展?

GPT-4o的“AI视频通话”一鸽再鸽,但网友却是急不可耐想要体验。

于是,一位名叫Santiago(我们叫他三哥)的博主,用160行Python代码尝试了复刻。

虽然技术路线和《Her》有所差别,但从直观效果来看,也算得上是给网友们带来了新的玩具。

而且不仅是炫技,三哥是真的在试图把网友教会,用了半个多小时的时间讲解他的操作过程。

不过,三哥的自我介绍中说,自己是一个讲授硬核机器学习知识的博主,之前也推出过不少课程。

所以讲课这件事对三哥来说,也可以算是老本行了。

对三哥这次推出的新课,网友给予了很高的评价,表示不仅内容很赞,而且讲解得也很好。

甚至为了防止你觉得学起来太麻烦,三哥直接就把程序代码给公开了

还有网友在线催更,有的想要增加屏幕读取的功能,还有人想要移动版……

用Python实现AI视频通话

三哥做的视频通话程序名叫Alloy Voice Assistant(简称Alloy),在视频中他演示了这样几组对话效果。

首先是一道基础问题,三哥让Alloy识别一下自己戴的眼镜是什么颜色

这道题对Alloy来说确实是没什么难度,很轻松就能回答上来是黑色。

接下来,三哥就要给Alloy上难度了,这次要识别的是棒球帽上的徽章,并分析出所代表的球队

这次不仅要识别的内容和镜头的距离变远了,而且Alloy需要一次性识别六个。

关于视频中涉及的棒球帽,我们来看下特写:

从左到右依次是(洛杉矶)道奇队、(华盛顿)国民队、(波士顿)红袜队、(休斯顿)太空人队、(芝加哥)小熊队和(堪萨斯城)皇家队。

我们再来看下Alloy给出的回答……完全正确。

最后一题,Alloy需要识别的内容变成了文字——不仅要知道写了什么,还要知道文字代表的含义。

只见三个拿出了一本书朝向了镜头,先后询问Alloy书的名称和作者

这本书是苹果机器学习高级工程师Robert Munro Monarch写的Human-in-the-Loop Machine Learning(《人在回路·机器学习》),Alloy回答对了。

从三哥的演示中我们可以看出,Alloy在识别和回答的准确率上还是很能打的,不过响应的速度也确实慢了一些。

但毕竟不是原生功能,需要在多个API之间进行跳转,所以也算是可用。

那么Alloy到底是怎么实现的呢?三哥进行了在线教学。

37分钟细致讲解,还有开源懒人版

跟随着三哥的讲解,我们先来看一下都需要用到哪些工具。

既然要“视频通话”,当然就得有视觉处理模块,三哥用OpenCV来对画面进行捕获,然后交给多模态大模型进行处理。

具体的大模型可以有多种选择,包括GPT-4o、Claude和Gemini 1.5 Pro等,同时大模型还要承担文本处理的任务。

这是由于Alloy并非原生支持音频模态,所以处理音频的方式是通过文本作为中介实现,这就需要用到语音识别和合成模块,这里三哥用的分别是OpenAI的Whisper和TTS引擎。

另外,为了让大模型的集成变得更加容易,三哥这里还使用到了大模型编程框架LangChain。

最重要的,想要把这些模块都组合在一起,就需要用Python来编写代码,也要有相应工具的API。

看到这些工具,Alloy的大致工作流程也就清晰明了了——

麦克风和摄像头负责收集视觉和声音信息,然后声音被转换成文本并于视觉信息一起通过API送入大模型,大模型完成分析后以文本形式回传,最后用TTS模块合成语音并通过扬声器播放。

具体操作中,需要先安装好所需要的依赖库,并申请相应大模型的API,并创建一个Python程序加载这些依赖。

之后是编写WebcamStream类,用来捕获摄像头当中的图像,这里就用到了OpenCV当中的VideoCapture。

视频中,三哥针对每一行代码的含义和作用都进行了解释,感兴趣的话可以看原视频,这里就不一一展开了。

之后是Assistant类,也是整个Alloy系统中最核心的环节,从初始化和配置AI模型,到处理用户输入、声文互转、生成回答,再到对话记录的管理,Assistant都发挥着重要作用。

可以说,Assistant类是串起用户、输入设备和AI模型的桥梁,也是三哥在整个教程中讲解时间最长的一部分。

把这两个类定义好之后,最后就是主程序的设计,首先为这两个类各创建一个实例,之后配置摄像头和麦克风,就可以进入主循环体了。

主循环体会不断从WebcamStream实例中读取最新的视频帧,并使用OpenCV的imshow()函数在窗口中实时显示。

同时,当语音识别器检测到用户开始说话并结束时,会自动将语音转换为文本,并调用相关函数进行处理。

以上就是Alloy搭建的大致流程了,如果看了觉得实在太麻烦不想自己动手的话,三哥还在GitHub上准备了懒人版。

只需要根据选择的模型调整几行代码并填好API,就能直接用了。

如果你也想体验一下AI视频通话的话,不妨动手试一下吧。

原视频地址:https://www.youtube.com/watch?v=zVttVCQvACQGitHub:

https://github.com/svpino/alloy-voice-assistant

量子位年度AI主题策划正在征集中!

欢迎投稿专题 一千零一个AI应365行AI落地方案

或与我们分享你在寻找的AI产品,或发现的AI新动向

点这里?关注我,记得标星哦~

一键三连「分享」、「点赞」和「在看」

科技前沿进展日日相见 ~ 

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

AI视频通话 Python OpenCV Whisper LangChain GPT-4o Alloy Voice Assistant
相关文章