AI 原生应用,对网关的需求已经超越了传统的路由和负载均衡功能,还需要为 AI 应用开发者提供便利,例如统一不同 LLM 提供商的 API 协议,并提供 API 编排、安全、稳定性和成本控制等扩展功能。
—— 赛题出品人&Higress Maintainer 张添翼
2024 天池云原生编程挑战赛 6 月 12 日正式启动,8 月 28 日线下决赛,9 月公布最终参赛结果,奖金池合计 22.5 万,共计三个赛道,面向全社会开放。《使用 Higress AI 网关优化 AI 调用成本》是第二赛道。
01 赛题背景
随着 LLM 技术的蓬勃发展,AI Web 应用创新如火如荼,其对网关的需求超越了传统的路由和负载均衡功能,承载了更大的 AI 工程化使命,相关需求如下:
- 长连接:由 AI Web 应用常见的 Websocket 和 SSE 协议决定,长连接的比例很高,要求网关更新配置操作对长连接无影响,不影响业务。
- 高延时:LLM 推理的响应延时比普通 Web 应用要高出很多,使得 AI Web 应用面向 CC 攻击时显得很脆弱,容易被攻击长时间维持住大量长连接,消耗大量计算和存储资源。
- 大带宽:结合 LLM 上下文来回传输,以及高延时的特性,AI Web 应用对带宽的消耗远超普通应用,网关或后端如果没有实现较好的流式处理能力,容易导致内存快速上涨,继而触发 OOM。
并且,在 AI 时代,对 AI 网关的需求已经超越了传统的路由和负载均衡功能,例如可以为 AI 应用开发者提供便利,统一不同 LLM 提供商的 API 协议,并提供 API 编排、安全、稳定性和成本控制等扩展功能。
Higress 作为 AI 原生的 API 网关,对于承接 AI 流量有着天然优势。Higress 既承载了通义千问等阿里云核心 AI 业务流量,也承载了云上多家 AGI 客户的流量。本赛题主要面向 Higress 的灵活扩展能力,设计 AI 网关插件,实现 LLM API 调用成本优化等目标,可以很好地满足客户对 AI 网关的需求:
- 长连接:不同于 Nginx 变更配置需要 Reload,导致连接断开,Higress 基于Envoy 实现了连接无损的真正配置热更新。
- 高延时:Higress 基于安全网关能力可以提供 CC 防护能力,在 AI 场景,除了 QPS,还可以扩展针对 Token 生成的限流防护。
- 大带宽:Higress 支持完全流式转发,在 AI Web 应用场景下,所需的内存占用极低,同时也可以开发 Wasm 插件对请求和响应进行自定义逻辑的流式处理。
此外,使用 Higress 的 Wasm 插件机制来拓展云原生网关的能力,可以满足 AI 网关的延伸需求。例如,基于 Higress 的 AI Proxy 插件,可以屏蔽不同 LLM 提供商的 API 协议,AI 应用开发者的前端无需实现多套协议,就能轻松对接不同 LLM 实现。
02 赛题描述
1)赛题目标:控制 AI 应用的服务成本
对 AI 应用开发者而言,控制成本是成功的关键。AI 应用的成本大头主要是两部分:
- 应用搭建的资源成本,例如 CPU、带宽等为了提供 Web 能力,网关的资源成本是必须的。基于企业版 Higress 强劲的性能,能支撑高并发流量访问,可以显著降低资源成本;基于开源版 Higress 和阿里云 SAE2.0,可按请求对 CPU 用量计费的机制,适合小规模流量场景。
- LLM 提供商 API 的调用成本,或者自建模型的 GPU 成本。基于向量召回的缓存策略算法,降低调用 LLM 提供商 API 的成本,并保证结果准确率。尤其是在 AI RAG 应用的场景,因为在一个封闭的知识域内,头部 query 的缓存命中率很高,使用此机制可以大幅降低成本。
2)必答题:基于向量召回相似问题的缓存,降低 LLM API 调用成本(100分)
参赛物料清单
参赛者需要开发一个 Higress WASM 插件,支持对接开源 Redis、阿里云 Lindorm、阿里云 Tair 或阿里云向量检索服务等的向量检索能力,进行 LLM 结果的向量召回,并搭配 Higress 的 AI Proxy 插件一起使用。插件整体实现的效果如下图所示:
图中向量距离阈值(0.1)仅供参考
3)附加题:AI 网关插件创新(20分)
除了上述场景外,Higress AI 网关还可以基于插件扩展以下能力:
- API 编排:通过管理和编排 LLM prompt 工程相关 API,支持 Agent Reflection、多 Agent 协作等复杂的 Workflow;提供灵活的 API 对接能力,例如支持搜索等工具调用。
- 安全:提供 CC 攻击防护,限制请求频率和 Token 消耗速率,防止恶意请求对后端资源造成压力;还能识别并拦截含敏感信息的请求,如个人身份信息,以保护用户隐私和防止数据泄露。
- 稳定性:通过跨多个 LLM 提供商和自建模型实现 fallback 机制,增强服务稳定性;在模型服务不可用时,自动切换或回退到其他选项。
附加题希望参赛者设计/开发对构建 AI 应用有帮助的 AI 网关插件,可以涉及API 编排、安全、稳定性、成本控制等方向,但不局限于这些方向,所有对 AI 应用构建有帮助的插件均可。
🔔 注意:20分包含需求评估和代码实现两部分。
- 需求评估:提供插件使用的背景和设计思路,文档形式。
- 代码:用代码进行实现。
03 实现方式
下面分别介绍使用企业版 Higress 和开源版 Higress 的两种实现方式:
使用企业版 Higress,无需自购 ECS 实例
企业版 Higress 是开箱即用的,无需自己运维网关资源,通过企业版控制台的插件市场开启 AI Proxy 插件,即可轻松对接多种不同的 LLM 实现。同时结合企业版丰富的限流、认证鉴权、安全防护能力,可以帮助开发者低成本地搭建安全、稳定、合规的 AI 应用。
下图是基于企业版 Higress 构建 AI 应用的架构示意:
使用开源版 Higress,由 SAE 提供算力支持
Higress 支持以容器化方式部署到阿里云 Serverless 应用平台 SAE 上。和 LLM API 提供商按请求 token 计费类似,SAE2.0 支持仅在请求发生时对 CPU 用量进行计费,可以降低个人开发者的 AI 应用构建成本,适合搭建私人 AI 助手、GPT 私服。
下图是基于开源版 Higress 构建 AI 应用的架构示意:
了解赛制说明、解题思路、评分标准等更多信息,请点击文末“此处”,参赛过程中若遇到问题,请加入官方选手钉群,群号:61285018407。