theopenco/llmgateway

Route, manage, and analyze your LLM requests across multiple providers with a unified API interface.

LLM Gateway – 是什麼

LLM Gateway 是一個開源的 API 網關,位於您的應用程式與多個大型語言模型(LLM)供應商(OpenAI、Anthropic、Google Vertex AI 等)之間。它提供單一的 OpenAI 相容端點,讓您能將不同供應商的金鑰集中儲存於一處,並記錄使用資料,以便查看已消耗的 token 數量以及每次呼叫的成本。


核心功能(如 README 所述)

  • 統一 API – 呼叫遵循 OpenAI 的 /v1/chat/completions 格式,因此您無需變更客戶端程式碼即可切換供應商。
  • 多供應商路由 – 可為每個請求設定要呼叫的後端模型;網關會將請求轉發至相應的供應商。
  • 金鑰管理 – 將所有供應商的 API 金鑰集中管理,並透過啟動時設定的密碼保護。
  • 使用分析 – 服務會記錄請求次數、token 使用量、回應延遲與成本,協助您監控並優化支出。
  • 效能監控 – 從同一儀表板比較不同模型/供應商之間的延遲與價格。
  • 自架或 SaaS – 可使用 llmgateway.io 上的托管服務,或自行部署整個系統。

如何執行

托管選項

  1. llmgateway.io 上註冊。
  2. 取得 API 金鑰,並開始向 https://api.llmgateway.io/v1/... 發送請求。

自架(Docker 為首)

  1. 產生兩個密碼:
    export LLM_GATEWAY_SECRET=$(openssl rand -base64 32 | tr -d '\n')
    export GATEWAY_API_KEY_HASH_SECRET=$(openssl rand -base64 32 | tr -d '\n')
    
  2. 執行提供的腳本以建立 PostgreSQL 與 Redis 卷並啟動統一容器,或手動使用命名卷啟動容器(完整 docker run 命令請參見 README)。
  3. 容器公開多個埠(3002–3007,4001–4002)供 UI、API 及內部服務使用。
  4. 啟動後,您可像呼叫 OpenAI API 一樣呼叫網關,例如:
    curl -X POST https://api.llmgateway.io/v1/chat/completions \
         -H "Content-Type: application/json" \
         -H "Authorization: Bearer $LLM_GATEWAY_API_KEY" \
         -d '{"model":"gpt-4o","messages":[{"role":"user","content":"Hello, how are you?"}]}'
    

開發工作流程

  • 相依性管理 – 使用 pnpm。執行 pnpm i && pnpm run setup 安裝套件、啟動 Docker 服務、同步資料庫模式並填入資料。
  • 開發伺服器pnpm dev 以監聽模式啟動所有應用(前端儀表板、API、網關等)。
  • 生產建構pnpm build 建立用於部署的優化套件。
  • 單體倉儲結構 – 倉儲為單體倉儲,包含多個 Next.js 應用(uiplaygroundcodeairsidedocs)與共用套件(dbmodelsshared)。實際路由邏輯位於 apps/gateway(Hono 後端)。

授權

  • 開源核心 – AGPL-v3(參見 LICENSE)。
  • 企業擴充功能ee/ 目錄包含高階計費、無限資料保留、多組織管理等商業功能,採用獨立企業授權。詳情請聯絡 contact@llmgateway.io

誰會使用它?

  • 需要在不重寫客戶端程式碼的情況下切換或整合多個 LLM 供應商的團隊。
  • 希望在單一地點審計 token 使用量與成本的組織。
  • 偏好自架以符合資料隱私或合規要求的開發者。

總結

LLM Gateway 是一個實用、可投入生產的中介軟體,抽象了 LLM API 之間的差異,加入分析功能,並提供 SaaS 與自架兩種部署路徑。它以 TypeScript 單體倉儲構建,支援 Docker,並在 UI、API 與網關元件之間保持清晰分離。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案