一个开发者随手跑起自主编码代理,月底账单多出几千美元。这种事在采用生成式AI的团队里越来越常见。把专有代码发给第三方API会触发合规警报,而少数几个人跑代理就能把云账单推上天。
硬件这边同样难受。本地集群往往是拼凑起来的:几台带A100或RTX 4090的服务器,一些中端工作站显卡(RTX 3060/4060),再加一组CPU集群兜底。没有智能路由,高端GPU跑满,其他机器闲着。
有人把这三个问题打包成了一个开源项目,叫Sarrera——巴斯克语里"入口、门户"的意思。它是一套企业本地AI推理网关、访问控制(RBAC)和可观测性平台,整个部署塞进一个Docker Compose里。
一个入口,七个部件
架构的核心思路是把客户端IDE和物理算力硬件解耦,内部网络全部藏在一个边界反向代理后面。对外只开80和443端口。
整个系统由七个部件组成:
- Caddy v2:唯一的互联网入口,管TLS证书生命周期,托管Sarrera服务门户
- LiteLLM Proxy:OpenAI兼容的API网关,执行订阅档位、虚拟密钥和加权least-busy负载均衡
- Langfuse v2:异步非阻塞的遥测引擎,记录每一次提示、补全、首Token时间(TTFT)、token总量和部门成本归属
- Open WebUI:给非开发人员的聊天界面,支持文档RAG和AD/LDAP认证
- PostgreSQL 16:为LiteLLM的密钥/预算和Langfuse的追踪元数据提供独立持久化数据库
- MinIO S3:高性能对象存储,保留大型追踪负载和提示附件
- Ollama:本地替身引擎,带网络别名,没有外部GPU依赖也能立刻测试
三档订阅,把预算焊死
为了避免预算失控,Sarrera把开发者的虚拟API密钥映射到LiteLLM Teams,对应三档企业订阅。
tier-basic面向初级开发者,只能用basic-coder(7B),预算15欧元/月,60 RPM、30k TPM。
tier-standard面向标准/专业用户,多了premium-coder(32B),预算50欧元/月,120 RPM、60k TPM。
tier-premium面向负责人和专家,再加premium-reasoning(DeepSeek-R1),预算100欧元/月,180 RPM、120k TPM。
执行速度是亚毫秒级的。当一个开发者在VS Code里触发自动补全,LiteLLM先检查请求的模型是否在该档位白名单里。如果tier-basic的初级开发者请求premium-reasoning,网关在10毫秒内直接返回HTTP 403 Forbidden,根本不碰GPU集群。月度累计花费超过团队上限,返回HTTP 400 Budget Exceeded;超过速率限制,返回HTTP 429 Too Many Requests。
不需要HAProxy
基础设施工程师常问:要不要上HAProxy或Nginx来给推理服务器做负载均衡?
答案是不需要。传统四层/七层代理只看HTTP字节流和状态码,它们看不懂每次请求的显存占用,分不清20个token的自动补全和4000个token的多文件重构,也看不到token流式传输(text/event-stream)、TTFT延迟或GPU显存溢出(OOM)状态。
LiteLLM是懂LLM的应用层路由器。在配置文件里,同一个basic-coder模型可以挂两条路由:一条指向中端专用GPU(RTX 4060),权重8、rpm 60;另一条指向CPU集群兜底,权重2、rpm 20。路由策略设为least-busy,动态追踪在途请求,超时45秒,重试2次。
这套东西的价值不在于技术多新,而在于它把三件麻烦事——隐私合规、账单失控、硬件碎片化——收进了一个五分钟能部署完的私有AI枢纽里。
热门跟贴