2024-12-20
3 分钟阅读
OpenAI 宣布支持 WebRTC实时API2024 年 12 月 17 日。将他们的实时 API 与Cloudflare 通话让您能够打造几天前还无法实现的体验。
此前,与音频和视频 AI 的交互主要是单人游戏:除非你们在同一个物理房间,否则只有一个人可以与人工智能交互。现在,使用 Cloudflare Calls 和 OpenAI 实时 API 构建的应用程序现在可以支持全球多个用户同时查看语音或视频 AI 并与之交互。
让您的 AI 加入您的视频通话 –
这在实践中意味着什么:您现在可以邀请 ChatGPT 参加您的下一次视频会议:
我们将其构建到我们的橙色遇见演示应用程序可以作为可能性的灵感,但机会更广泛。
在不远的将来,每家公司都可以邀请“企业人工智能”参加安全、私密的内部会议,并且可以访问公司数据。想象一下与您公司的人工智能进行的这种实时音频和视频交互:
“嘿 ChatGPT,我们有关于此问题的公开 Jira 票证吗?”
“嘿,AI 公司,谁是该领域的竞争对手?”
“AI,XYZ是大客户吗?他们在我们这里的花费比去年多了多少?”
如果您的应用程序是为消费者构建的,也会有类似的机会:广播和全球直播可以变得更具互动性。上面视频中的谋杀之谜游戏只是一个示例:您可以构建自己的游戏,与不同城市的朋友一起玩。”
这些交互式多媒体体验是通过行业采用网络RTC,代表网络实时通信。
许多实时产品体验历史上都使用过网络套接字而不是 WebRTC。Websockets 通过在客户端和服务器之间建立的单个持久 TCP 连接进行操作。这对于维护基于文本的聊天应用程序的数据同步或维护您喜爱的视频游戏的游戏状态非常有用。Cloudflare 对 Websockets 提供广泛支持通过我们的网络也在我们的人工智能网关中。
如果您在 WebSocket 之前构建聊天应用程序,您可能会让客户端应用程序每 n 秒轮询一次服务器,以查看是否有新消息要显示。WebSockets 消除了这种轮询的需要。相反,客户端和服务器建立持久的、长期运行的连接来发送和接收消息。
然而,一旦跨地域的多个用户同时进行语音和视频交互,数据同步中的微小延迟可能会成为不可接受的产品体验。想象一下构建一个可以实时翻译音频的应用程序。使用 WebSockets,您需要对音频输入进行分块,因此每个块包含 100-500 毫秒的音频。该分块大小以及队头阻塞,成为您向用户提供实时多模式体验能力的延迟下限。
WebRTC 通过在用户之间直接通过基于 UDP 的通道提供对音频和视频轨道的本机支持来解决这个问题,从而消除了分块的需要。这使您可以将多个用户的音频和视频数据流式传输到 AI 模型,并实时接收从 AI 模型返回的音频和视频数据。
使用 Cloudflare Calls 进行实时 AI 扇出
从历史上看,为 WebRTC(用于媒体路由、TURN 中继、全球可用性的服务器)设置底层基础设施可能具有挑战性。
Cloudflare 通话为开发人员处理整个复杂性,使他们能够利用 WebRTC,而无需担心服务器、区域或扩展。Cloudflare Calls 作为单个网状网络运行,自动将每个用户连接到靠近他们的服务器。呼叫可以直接与其他由 WebRTC 支持的服务(例如 OpenAI)连接,让您能够以接近零延迟的方式向数百或数千名用户提供输出。
隐私和安全也是标准配置:默认情况下,所有通过 Cloudflare Calls 的视频和音频流量都会加密。在这个特定的演示中,我们更进一步,创建了一个按钮,让您可以决定何时允许 ChatGPT 聆听会议参与者并与之互动,从而使您能够更加细化和有针对性地保护您的隐私和安全状况。一个
我们如何将 Cloudflare Calls 连接到 OpenAI 的实时 API
Cloudflare Calls 具有三个构建块:应用程序、会话和轨道:
�A会议Cloudflare 中的 Calls 直接与 WebRTC PeerConnection 相关。它代表客户端与最近的 Cloudflare 数据中心之间建立的通信通道,由 Cloudflare 的选播路由确定 —
在一个Session中,可以有一个或多个曲目。“[其]与 MediaStreamTrack 概念保持一致,促进音频、视频或数据传输。”
要将 ChatGPT 包含在我们的视频会议演示中,我们需要将 ChatGPT 添加为追踪在持续的会议。为此,我们连接到 Realtime API橙色遇见:
// 像总机一样连接 Cloudflare 呼叫会话和轨道异步函数 connectHumanAndOpenAI(humanSessionId:字符串,openAiSessionId:字符串){const CallsApiHeaders = {授权:`不记名${APP_TOKEN}`,'内容类型':'应用程序/json',}// 将 OpenAI 音轨拉至人类音轨等待获取(`${callsEndpoint}/sessions/${ humanSessionId}/tracks/new`, {方法:'POST',标头:callsApiHeaders,正文:JSON.stringify({曲目:[{位置:'远程',会话Id:openAiSessionId,trackName: 'ai-generate-voice',中:'#用户麦克风',},],}),})// 将人类的音轨拉到 OpenAI 的音轨中等待获取(`${callsEndpoint}/sessions/${openAiSessionId}/tracks/new`, {方法:'POST',标头:callsApiHeaders,正文:JSON.stringify({曲目:[{位置:'远程',会话 ID:人类会话 ID,trackName: '用户麦克风',mid: '#ai-generate-voice',},],}),})}
此代码设置人类会话和 ChatGPT 之间的双向路由,这将允许人类听到 ChatGPT 并让 ChatGPT 听到人类的声音。
您可以在以下位置查看此演示应用程序的所有代码GitHub.�
进行 Cloudflare 调用 + OpenAI 实时 API演示尝试一下为自己回顾一下它是如何构建的GitHub 上的源代码。那么今天就开始吧Cloudflare 通话将实时、交互式人工智能引入您的应用程序和服务。
Cloudflare 的连接云保护整个企业网络,帮助客户构建高效的互联网规模应用,加速任何网站或互联网应用程序,抵御 DDoS 攻击, 保持黑客陷入困境,并且可以帮助您您的零信任之旅。
访问1.1.1.1从任何设备开始使用我们的免费应用程序,让您的互联网更快、更安全。