Skip to main content

系統概觀

OpenModex 位於您的應用程式和 AI 模型供應商之間。每個請求在到達最佳供應商之前,都會經過一系列智慧中介層處理。

請求流程

1

身分驗證

驗證您的 API 金鑰,並映射到您的帳戶、團隊和速率限制。
2

速率限制

根據您的方案速率限制(按金鑰、按分鐘)檢查請求。使用 Redis 有序集合進行精確的滑動視窗控制。
3

快取檢查

如果啟用了提示快取,OpenModex 會檢查是否有完全匹配的快取回應。快取命中時立即回傳,零供應商成本。
4

路由決策

路由引擎根據您的策略(成本、延遲或品質)、當前供應商健康狀態和容錯備援設定,選擇最佳供應商。
5

供應商請求

請求被轉譯為目標供應商的格式並轉發。OpenModex 支援即時 SSE 串流透傳。
6

回應 + 中繼資料

供應商回應被標準化為 OpenAI 格式,附加 OpenModex 中繼資料(路由資訊、成本、延遲),然後回傳給您的應用程式。

核心元件

API 閘道器

  • OpenAI 相容 REST API — 可直接替換 OpenAI 的 API
  • SSE 串流 — 即時逐 token 傳遞
  • 冪等性 — 使用 Idempotency-Key 標頭安全地重試(24 小時 TTL)

路由引擎

路由引擎維護供應商健康狀態和效能的即時視圖:

斷路器

自動監控供應商健康狀態:
  1. 關閉 — 請求正常路由
  2. 半開 — 連續失敗後,流量被節流
  3. 開啟 — 供應商暫時從路由池中移除
  4. 恢復 — 定期健康探測恢復供應商

供應商轉接器

每個 AI 供應商都封裝在標準化的轉接器中,處理:
  • 請求格式轉譯(OpenAI 格式 → 供應商原生格式)
  • 回應標準化(供應商原生 → OpenAI 格式)
  • 錯誤映射為一致的錯誤碼
  • 串流協定轉譯
支援的供應商:

快取層

  • 精確匹配快取 — 對(模型 + 訊息 + 參數)進行雜湊
  • 可設定 TTL — 每個請求 60 秒至 24 小時
  • Redis 驅動 — 亞毫秒級快取查詢
  • 成本節省 — 快取回應以約 50% 的輸入費率計費,零輸出成本

計費管線

  1. 每個請求都會向 Kafka 發送計費事件
  2. 事件被非同步消費並持久化
  3. 帳戶餘額透過 Redis Lua 腳本進行原子更新
  4. 分析資料刷新到 Apache Doris 以供儀表板和報告使用

基礎架構

安全性

  • API 金鑰在靜態狀態下進行雜湊處理;僅儲存前綴用於查詢
  • BYOK 供應商金鑰使用 AWS KMS 信封加密進行加密
  • 速率限制使用原子 Redis 操作以防止競爭條件
  • 所有流量使用 TLS 1.3 加密
  • 密碼使用 Argon2id 進行雜湊處理

資料流程圖