发现一个宝藏项目:LLMProxy-Admin —— 终于有人把 LLM API 管理做对了

5 阅读4分钟

最近在给公司搭建内部 AI 平台时,发现了一个让我眼前一亮的开源项目,忍不住来分享一下。

背景:LLM API 管理的痛点

相信很多技术团队都遇到过这样的问题:

  • 公司买了 OpenAI、Claude、文心一言等多家 API,怎么统一管理
  • 每个部门都要用 AI,怎么分配额度、控制成本
  • 出了问题想排查,调用日志在哪看
  • 想知道这个月花了多少钱,用量统计怎么做

市面上的解决方案要么太重(企业级方案动辄几十万),要么太简陋(自己写的脚本勉强能用但没法维护)。

直到我发现了 LLMProxy + LLMProxy-Admin 这对组合。


LLMProxy 是什么?

先说 LLMProxy,这是一个用 Go 写的 LLM API 网关,主打几个特性:

  • 零缓冲流式代理 —— SSE 响应实时转发,不吃内存
  • 多后端负载均衡 —— 支持轮询、加权、最低延迟等策略
  • 灵活的鉴权管道 —— 可以用 Redis、Lua 脚本、甚至自定义逻辑
  • 自动 Token 统计 —— 请求完成后自动记录用量

架构很干净,性能也不错。但问题来了:怎么管理 API Key?怎么看用量统计?

这就是 LLMProxy-Admin 要解决的问题。


LLMProxy-Admin:让管理变得简单

GitHub 地址:github.com/aiyuekuang/…

架构设计让我眼前一亮

这个项目最让我欣赏的是它的解耦设计

┌─────────────────┐           ┌─────────────────────┐
│   LLMProxy      │    读     │   LLMProxy-Admin    │
│   (网关)        │◄──────────│   (管理后台)         │
│                 │    写     │                     │
└────────┬────────┘──────────►└──────────┬──────────┘
         │                               │
         └───────────────┬───────────────┘
                         ▼
              ┌──────────────────┐
              │      Redis       │
              └──────────────────┘

网关只读数据,Admin 只写数据,两者通过 Redis 协作,零 API 调用。

这意味着:

  • Admin 挂了不影响网关正常转发
  • 可以独立升级、独立部署
  • 数据一致性由 Redis 保证

这种设计在开源项目里真的不多见,很多项目为了"方便"把所有东西塞到一起,结果耦合严重、难以维护。

功能覆盖全面

翻了一下代码和文档,核心功能都有了:

用户管理

  • 管理员/普通用户两种角色
  • 普通用户只能看自己的 Key 和用量
  • JWT 认证,安全可靠

API Key 管理

  • 创建、编辑、禁用、删除
  • 设置额度上限(用完自动停)
  • 设置过期时间
  • 限制可用模型(比如某个 Key 只能调 GPT-3.5)
  • IP 白名单

用量统计

  • 按用户、按 Key、按模型多维度统计
  • 请求日志查询
  • 这个月花了多少一目了然

渠道管理

  • 管理上游 API 配置
  • 方便切换不同供应商

技术栈现代

  • 后端:Go + Gin(性能好,部署简单)
  • 前端:React + TypeScript + Vite(现代前端标配)
  • UI:TailwindCSS + shadcn/ui(好看且一致)
  • 数据:MySQL + Redis

最关键的是:编译后是单个二进制文件,前端内嵌

不需要 nginx,不需要配 CORS,下载下来改个配置就能跑。对于小团队来说太友好了。


实际体验

我花了半小时在本地跑起来,体验如下:

部署真的简单

# Docker Compose 一键启动
git clone https://github.com/aiyuekuang/LLMProxy-Admin.git
cd LLMProxy-Admin
docker-compose up -d

访问 http://localhost:8080,用 admin/admin123 登录,直接就能用了。

界面清爽

不是那种花里胡哨的 Dashboard,该有的都有,不该有的没有。创建 Key、查看用量、管理用户,几下点完就搞定了。

和 LLMProxy 配合丝滑

只需要确保两边 Redis 配置一致,Admin 这边创建的 Key,LLMProxy 那边立刻就能用。

# LLMProxy-Admin
storage:
  redis:
    addr: "localhost:6379"
    key_prefix: "llmproxy:"

# LLMProxy
auth:
  pipeline:
    - name: redis
      type: redis
      redis:
        addr: "localhost:6379"
        key_pattern: "llmproxy:key:{api_key}"

适合什么场景?

我觉得这套方案特别适合:

  1. 中小团队内部 AI 平台
    • 几十上百人用,需要分配额度、控制成本
    • 不想花大价钱买企业方案
  2. AI 创业公司
    • 需要给客户分发 API Key
    • 需要按用量计费
  3. 个人开发者
    • 有多个项目都要调 LLM API
    • 想统一管理、统一监控

还有什么不足?

客观说几点:

  1. 文档可以更丰富 —— 目前 README 写得不错,但缺少一些进阶用法的文档
  2. 监控告警还没做 —— 额度用完了没有通知机制
  3. 多租户支持有限 —— 目前是两级角色,复杂场景可能不够

不过看代码结构,这些后续应该都能加上,项目还在活跃开发中。


总结

如果你正在找一个轻量、好用、架构合理的 LLM API 管理方案,强烈推荐试试 LLMProxy + LLMProxy-Admin 这套组合。

都是 Apache 2.0 协议,可以放心商用。


以上是个人使用体验,与项目作者无利益关系。如果觉得有帮助,欢迎点赞收藏,也欢迎在评论区交流使用心得。


相关话题:#开源项目推荐 #LLM #API网关 #ChatGPT #企业AI平台