分享一个自建LLM路由器的方案:Millwright
公司现在对AI API的成本管控极其变态,尤其是几个项目组都在用不同的模型,账单乱成一团。之前考虑过用OpenRouter或者Vercel AI Gateway,但公司安全合规要求数据不能随便过第三方网关,得自托管。
如果你也在为公司内部LLM调用链路太乱、成本失控而头疼,可以试着部署一个跑跑看。
下一篇
网络安全实战:避坑指南与真实路径 →
刚好刷到这个用Rust写的Millwright,核心逻辑就是给大模型套个“分流阀”。它能把模型分成 cheap, mid, frontier 三个档位,根据策略自动选最便宜且健康的路径。对于我们这种每天跑大量重复Prompt的团队,那个Cache Affinity(缓存亲和力)功能挺有意思,能分session走通道,不用担心并发请求把缓存搞乱。
部署起来倒是挺快,就一个二进制文件,支持SQLite或PostgreSQL,不需要把API Key存到它系统里,这点对公司内部部署很关键。
目前支持的维度大概是:
- 兼容协议: OpenAI Chat Completions, Anthropic Messages,支持文本和工具转换。
- 供应商: OpenAI兼容接口、Anthropic、Amazon Bedrock。
- 成本监控: 能按团队统计费用,支持HTML/JSON导出分析报告。
- 稳定性: 自带熔断机制(Circuit Breakers)和超时限制,避免某个供应商崩了导致整个工作流卡死。
如果你也在为公司内部LLM调用链路太乱、成本失控而头疼,可以试着部署一个跑跑看。
安装配置大致流程:
1. 通过交互式CLI配置供应商和模型定价。
2. 设定路由策略(比如简单任务走 cheap,复杂任务走 frontier)。
3. 将Coding Agent或业务代码的API端点指向Millwright。
# 部署方式支持 Docker 或 Rust 二进制直接运行
docker run -d --name millwright -p 8080:8080 millwright/millwright