链载Ai

标题: PipeCat - 打造实时语音 AI 应用的开源架构方案 [打印本页]

作者: 链载Ai    时间: 昨天 17:06
标题: PipeCat - 打造实时语音 AI 应用的开源架构方案
Pipecat 是一个用于实时、多模式 AI 的编排框架。在此用例中,Pipecat 在 WebRTC 媒体流(和 Pipecat 客户端/服务器事件)和多模式实时 API 之间进行转换。
图片来自@meng shao这位大神。
代码库:
https://github.com/pipecat-ai/gemini-webrtc-web-simple
此示例展示了如何使用 Gemini Multimodal Live API 和 WebRTC 构建一个非常简单的语音 AI 应用程序。


WebRTC 连接只是这段代码,加上用于设置音频播放和处理您想要连接到用户界面的任何事件的事件处理程序。
constrtviClient=newRTVIClient({transport,params:{baseUrl:"http://localhost:7860/",},enableMic:true,enableCam:false,timeout:30*1000,});


与直接从客户端连接到多模式 API WebSocket 基础设施相比,这种方法有几个优点。

以这种方式使用 WebRTC 还有两个缺点。

什么选择 WebRTC?
如果您刚开始使用语音 AI,您可能会倾向于使用 WebSocket 库进行联网。WebSocket 很常见、简单且受到广泛支持。它们非常适合服务器到服务器用例、延迟不是主要问题的用例,并且非常适合原型设计和一般黑客攻击。
但是 WebSocket 不应该在客户端-服务器、实时媒体连接的生产中使用。
对于生产应用,您需要使用 WebRTC。WebRTC 从一开始就被设计为互联网上的实时媒体协议。
WebSocket 在与最终用户设备进行实时媒体传输时的主要问题是:

此外,无论底层网络协议是什么,长距离公共互联网路由都会对延迟和实时媒体可靠性造成问题。因此,如果您的最终用户距离 OpenAI 的服务器很远,则务必尝试将用户连接到尽可能靠近他们的媒体路由器。除了第一个“边缘”连接之外,您还可以使用更高效的主干路由。一个好的 WebRTC 平台会自动为您完成此操作。
例如,在此示例应用程序中,对于典型用户而言,通过 Daily 的 WebRTC 网络(该网络在世界各地拥有许多靠近网络边缘的服务器)进行路由,其延迟实际上会比通过公共互联网路由的“直接”WebSocket 服务器更快。(互联网上没有直接连接。每个数据包都通过多个路由器进行中继。更好的路由意味着更好的响应时间。)
--------------------------------------------------------

还有一位大神搞出了全网第一个多模态 Gemini 且支持多语言语音输出的版本,也就是说,你可以用中文跟 Gemini 视频聊天了!
参考网址:
https://www.dinopal.ai/


参考资料
1. Gemini Multimodal Live 文档概述
https://ai.google.dev/api/multimodal-live
2. 网络上 Gemini 和 WebRTC(以及 React)的 Pipecat SDK 的 repo 位于此处:
https://github.com/pipecat-ai/pipecat-client-web
3. 如果您想为 SDK 编写新的可插入网络传输,请查看此 repo 和 README:
https://github.com/pipecat-ai/pipecat-client-web-transports
4. 这是一个功能齐全的多模式聊天应用程序,演示了如何在一个应用程序中使用 Gemini Multimodal Modal Live WebSocket API、HTTP 单转 API 和 WebRTC。(它们都有各自的用途,适用于不同的用例。)
https://github.com/pipecat-ai/gemini-multimodal-live-demo
5. [Pipecat 的 SDK] 适用于 Web、React、React Native、Android、iOS、Python 和 C++,均与架构兼容且开源。
Pipecat Android SDK 仓库位于此处:
https://github.com/pipecat-ai/pipecat-client-android
6. Pipecat iOS SDK 仓库位于:
https://github.com/pipecat-ai/pipecat-client-ios
7. 如果您对用于发送媒体的网络协议感兴趣,这里是 RTMP、HLS 和 WebRTC 的技术概述:
https://www.daily.co/blog/video-live-streaming/
8. 为了深入了解 WebRTC 边缘和网状路由,这里有一篇关于 Daily 全球 WebRTC 基础设施的长文:
https://www.daily.co/blog/global-mesh-network/

关于作者

做一只爬的最久的乌龟,保持学习保持好奇,即使慢一点,遇到一点困难,只要最后能到达终点,又有什么关系呢。
毕竟人生没有白走的路,每一步都算数。






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5