首页 网络3.0 使用 WebSocket 和耐用对象进行大规模实时 AI 推理

使用 WebSocket 和耐用对象进行大规模实时 AI 推理

Nov 20, 2024 am 09:08 AM
authentication Durable Objects WebSockets AI Gateway

2024 年 10 月,我们讨论了使用 AI Gateway 存储来自 AI 应用程序的数十亿条日志,以及我们如何使用 Cloudflare 的开发者平台来实现此目的。

使用 WebSocket 和耐用对象进行大规模实时 AI 推理

2024 年 10 月,我们介绍了如何使用 AI Gateway 存储来自 AI 应用程序的数十亿条日志,以及如何使用 Cloudflare 的开发者平台来执行此操作。

AI Gateway 已处理超过 30 亿条日志,且增长迅速,平台连接数持续稳定增长。为了帮助开发人员更有效地管理这种规模,我们希望提供一种替代方案来实现 HTTP/2 keep-alive 来维持持久的 HTTP(S) 连接,从而避免与 AI Gateway 的每个新 HTTP 连接重复握手和 TLS 协商的开销。我们知道实现 HTTP/2 可能会带来挑战,特别是当许多库和工具默认情况下可能不支持它并且大多数现代编程语言都有完善的 WebSocket 库可用时。

考虑到这一点,我们使用 Cloudflare 的开发者平台和 Durable Objects(是的,再次!)来构建 WebSockets API,该 API 建立单个持久连接,从而实现持续通信。

通过此 API,AI 网关支持的所有 AI 提供程序都可以通过 WebSocket 进行访问,从而允许您在客户端或服务器应用程序与 AI 网关之间维护单个 TCP 连接。最好的部分?即使您选择的提供商不支持 WebSockets,我们也会为您处理,管理对您首选 AI 提供商的请求。

通过 WebSocket 连接到 AI Gateway,我们使用提供商支持的协议(HTTPS、WebSocket 等)为您向推理服务发出请求,您可以保持连接打开以执行尽可能多的推理请求想要。

为了让您与AI网关的连接更加安全,我们还引入了AI网关的身份验证。新的 WebSockets API 将需要身份验证。您所需要做的就是创建一个具有“AI Gateway: Run”权限的 Cloudflare API 令牌,并将其发送到 cf-aig-authorization 标头中。

在上面的流程图中:

1.当启用身份验证网关并包含有效令牌时,请求将成功通过。

2.如果启用了身份验证网关,但请求不包含具有有效令牌的所需 cf-aig-authorization 标头,则请求将失败。这确保只有经过验证的请求才能通过网关。

3.禁用经过身份验证的网关时,将完全绕过 cf-aig-authorization 标头,并且任何令牌(无论有效还是无效)都会被忽略。

我们如何构建它

我们最近使用持久对象 (DO) 来扩展 AI 网关的日志记录解决方案,因此在同一 DO 中使用 WebSocket 是很自然的选择。

当我们的 Cloudflare Workers 收到新的 WebSocket 连接时,我们以两种方式实施身份验证,以支持 WebSocket 客户端的不同功能。主要方法涉及通过 cf-aig-authorization 标头验证 Cloudflare API 令牌,确保令牌对于连接帐户和网关有效。

但是,由于浏览器 WebSocket 实现的限制,我们还支持通过“sec-websocket-protocol”标头进行身份验证。浏览器 WebSocket 客户端不允许在其标准 API 中使用自定义标头,这使得在请求中添加身份验证令牌变得复杂。虽然我们不建议您在浏览器中存储 API 密钥,但我们决定添加此方法,以便为所有 WebSocket 客户端增加更多灵活性。

在这个初始验证步骤之后,我们将连接升级到持久对象,这意味着它现在将处理该连接的所有消息。在新连接被完全接受之前,我们会生成一个随机的 UUID,因此该连接在持久对象接收到的所有消息中都是可识别的。在开放连接期间,通过标头传递的任何 AI 网关设置(例如 cf-aig-skip-cache(设置为 true 时绕过缓存))都会被存储并应用于会话中的所有请求。但是,这些标头仍然可以根据每个请求进行覆盖,就像今天的通用端点一样。

如何运作

连接建立后,持久对象开始侦听传入消息。从现在起,用户可以通过 WebSocket 以 AI Gateway 通用格式发送消息,从而简化应用程序从现有 HTTP 设置到基于 WebSockets 通信的转换。

当新消息到达持久对象时,它会使用支持 HTTP 通用端点的相同代码进行处理,从而实现跨 Workers 和持久对象的无缝代码重用 - 这是在 Cloudflare 上构建的主要优势之一。

对于非流式请求,响应会封装在 JSON 信封中,使我们能够包含 AI 推理本身之外的其他信息,例如该请求的 AI 网关日志 ID。

以下是上述请求的响应示例:

对于流请求,AI Gateway 会发送一条带有请求元数据的初始消息,告诉开发人员流正在开始。

在此初始消息之后,所有流块在从推理提供者到达时都会实时中继到 WebSocket 连接。请注意,这些流块的元数据中仅包含 eventId 字段(有关此新字段的更多信息如下)。

这种方法有两个目的:

以上是使用 WebSocket 和耐用对象进行大规模实时 AI 推理的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1666
14
CakePHP 教程
1425
52
Laravel 教程
1325
25
PHP教程
1273
29
C# 教程
1252
24
OM Mantra加密货币坠毁90%,据称团队倾倒了90%的令牌供应 OM Mantra加密货币坠毁90%,据称团队倾倒了90%的令牌供应 Apr 14, 2025 am 11:26 AM

在对投资者的毁灭性打击中,OM咒语加密货币在过去24小时内倒塌了约90%,价格下降到0.58美元。

加密货币市场最近经历了最近的低迷之后的反弹 加密货币市场最近经历了最近的低迷之后的反弹 Apr 13, 2025 am 11:40 AM

在最近的经济低迷之后,加密货币市场见证了反弹。根据独家市场数据,加密货币市值已达到2.71ts

TrollerCat($ TCAT)在模因硬币市场中脱颖而出 TrollerCat($ TCAT)在模因硬币市场中脱颖而出 Apr 14, 2025 am 10:24 AM

您是否注意到了加密货币世界中模因硬币的迅速崛起?最初的在线笑话很快发展成为有利可图的投资机会

随着恐惧驱动的销售,Blockdag(BDAG)在人群中脱颖而出 随着恐惧驱动的销售,Blockdag(BDAG)在人群中脱颖而出 Apr 13, 2025 am 11:48 AM

随着恐惧在加密货币市场的销售驱动器,诸如Cardano和Solana之类的主要硬币面临艰难时期。

夜幕降临:以太坊区块链的增强隐私协议 夜幕降临:以太坊区块链的增强隐私协议 Apr 13, 2025 am 10:48 AM

在迅速发展的区块链技术世界中,EY的夜幕降临协议已成为一个重大发展。

Bitwise宣布在伦敦证券交易所(LSE)上列出了其四个加密ETP Bitwise宣布在伦敦证券交易所(LSE)上列出了其四个加密ETP Apr 18, 2025 am 11:24 AM

领先的数字资产经理Bitwise已宣布在伦敦证券交易所(LSE)上列出了其四个加密交易所交易产品(ETP)。

美国参议院立法草案威胁要袭击服务中心的数据中心,该中心为有费用的区块链网络和人工智能模型 美国参议院立法草案威胁要袭击服务中心的数据中心,该中心为有费用的区块链网络和人工智能模型 Apr 12, 2025 am 09:54 AM

法案草案据称旨在解决能源需求不断上升的环境影响,并保护家庭免受更高的能源费用

Metaplanet将其比特币国库券扩大到另外319 BTC Metaplanet将其比特币国库券扩大到另外319 BTC Apr 15, 2025 am 11:20 AM

在今天早些时候的公告中,日本公司Metaplanet透露已收购了另外319个比特币(BTC),将其总公司持有量推高了4,500 BTC。