首页 网络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

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

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
4 周前 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教程
1675
14
CakePHP 教程
1429
52
Laravel 教程
1333
25
PHP教程
1278
29
C# 教程
1257
24
Metaplanet将其比特币国库券扩大到另外319 BTC Metaplanet将其比特币国库券扩大到另外319 BTC Apr 15, 2025 am 11:20 AM

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

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

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

世界各地的中央银行正在加大购买黄金 世界各地的中央银行正在加大购买黄金 Apr 15, 2025 am 11:00 AM

根据Kobeissi信的一份关于X的报告,提到了IMS IFS和全球黄金委员会的数据,各国在2月累积了24吨黄金

运动实验室和运动网络基金会已经对与Move代币有关的最近的营销违规行为进行了独立调查。 运动实验室和运动网络基金会已经对与Move代币有关的最近的营销违规行为进行了独立调查。 Apr 16, 2025 am 11:16 AM

NT Labs和运动网络基金会启动独立调查,以进行代币营销违规行为

随着更广泛的市场对与贸易相关的新闻有利,比特币(BTC)向上漂移 随着更广泛的市场对与贸易相关的新闻有利,比特币(BTC)向上漂移 Apr 15, 2025 am 11:14 AM

在过去的24小时内,最大的加密货币增长了1.6%,现在的交易价格不到85,000美元。以太(ETH),同时,增长了2.7%

一波资本从以太坊(ETH)流出,进入TRON [TRX] 一波资本从以太坊(ETH)流出,进入TRON [TRX] Apr 16, 2025 am 11:14 AM

有15.2亿美元的Stablecoins迁移到TRON,投资者似乎赞成低成本的连锁店和超出传统美元支持资产的多元化。

在过去一周中,PI网络代币价格上涨了14%以上。 在过去一周中,PI网络代币价格上涨了14%以上。 Apr 16, 2025 am 11:22 AM

截至发稿时,PI于4月12日与ChainLink集成后,交易价格为0.6711美元。该公告导致PI价格上涨