22.5萬獎金池丨Higress AI 閘道器程式設計挑戰賽啟動

阿里云云原生發表於2024-06-26

AI 原生應用,對閘道器的需求已經超越了傳統的路由和負載均衡功能,還需要為 AI 應用開發者提供便利,例如統一不同 LLM 提供商的 API 協議,並提供 API 編排、安全、穩定性和成本控制等擴充套件功能。

—— 賽題出品人&Higress Maintainer 張添翼

2024 天池雲原生程式設計挑戰賽 6 月 12 日正式啟動,8 月 28 日線下決賽,9 月公佈最終參賽結果,獎金池合計 22.5 萬,共計三個賽道,面向全社會開放。 《使用 Higress AI 閘道器最佳化 AI 呼叫成本》是第二賽道。

賽題背景

隨著 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 實現。

賽題描述

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分包含需求評估和程式碼實現兩部分。

  • 需求評估:提供外掛使用的背景和設計思路,文件形式。
  • 程式碼:用程式碼進行實現。

實現方式

下面分別介紹使用企業版 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

相關文章