企业级大模型统一接入层。一份代码、一个网关、多家模型,让组织在享受大模型红利的同时,把成本、权限、合规、可观测、可扩展五件难事一次解决。
1. 一句话定位
「像用云一样用大模型,像管内网一样管 AI 流量。」
企业 AI 网关是部署在自有服务器上的 AI 流量治理层,对上游屏蔽各家厂商的协议差异,对下游提供统一的 OpenAI / Anthropic 兼容接口;对内提供完整的管理后台、计费体系、内容审查与运营看板。
- 协议层:OpenAI
chat/completions+ Anthropicmessages双协议透传 - 治理层:身份、配额、审查、定价、报表五位一体
- 数据层:SQLite 零运维,14 张表承载完整运营数据
2. 解决的五大痛点
| # | 痛点 | 网关的解法 |
|---|---|---|
| 1 | 成本不可见 | 按模型 + 分时段定价,每次调用实时计费,按用户 / 分组 / 提供商三维度报表 |
| 2 | 无权限/额度控制 | Bearer 令牌 + 用户分组 + RPM + 每日费用双重配额,超额自动拦截 |
| 3 | 缓存命中率低 | 粘性路由(FNV-1a 哈希)让同一用户的请求稳定落到同一上游,命中上游 prompt cache |
| 4 | 密钥管理混乱 | 后端 Key 集中保管,对外只暴露 sk-gw- 前缀的网关令牌,离职/轮换不影响业务 |
| 5 | 涉密风险 | exact / contains / regex 三模式敏感词引擎,命中即拦截 + 脱敏日志 + 完整审计留痕 |
3. 核心能力一览
3.1 多提供商统一接入
- 通过管理后台配置化接入 DeepSeek、Anthropic、OpenAI 兼容厂商,无需改代码
- 每个提供商独立配置:
base_url/auth_header/api_modes(OpenAI / Anthropic 协议模式) system_alias机制:同一逻辑模型名(如deepseek-chat)跨提供商独立计价、独立路由- 一键拉取上游模型列表,自动写入
provider_models表
3.2 智能路由策略
- 默认:粘性路由(persistent-binding)
- FNV-1a 哈希取模 +
(user_id, provider)联合持久化绑定 - 同一用户始终路由到同一后端 Key,最大化上游 prompt cache 命中率
- FNV-1a 哈希取模 +
- 备选:一致性哈希(consistent-hash)
- 150 个虚拟节点构成的哈希环,单节点故障影响最小化
- 健康巡检:周期扫描失败计数,超阈值自动禁用 + 清理绑定
- 故障转移:同提供商内自动切换 Key,不跨提供商(避免计费混乱)
3.3 精细化计费与配额
- 定价内存缓存:启动加载 + 改价热加载,运行时定价查询零 DB 访问
- 分时段定价:高峰 / 低峰不同单价
- 三段式费用公式:
cost = cache_miss_tokens × 输入价 + cache_hit_tokens × 缓存价 + completion_tokens × 输出价 - 用户级配额:每个令牌独立 RPM + 每日费用上限
- 提供商级配额:每个提供商独立每日费用上限,跨日自动重置
- 延后计费 + 超额告警:超过 ¥1 自动写告警日志
3.4 内容安全与合规
- 三模式审查引擎:exact(大小写不敏感)/ contains / regex
- 可检查 system 消息:开关
censorship.check_system_messages - 热加载:管理 API 改规则后自动 reload,无需重启
- 完整留痕:每次命中写入
censor_logs,敏感片段以***脱敏 - 请求/响应审计(可选):开关开启后,完整保存请求体 + 流式响应拼装文本,按日 zip 归档
3.5 可观测与运营
- 运营看板:请求数 / Token / 费用 / 缓存命中率 / 活跃令牌,支持日期范围筛选
- 多维统计:每日趋势 / 用户占比 / 缓存命中率曲线 / 分模型用量统计(最近新增)
- 三维度报表:整体 / 分组 / 人员,CSV 导出 Excel 兼容
- 实时指标:
GET /admin/stats/metricsJSON 端点,AtomicU64 计数器零锁采集 - 自服务查询:员工凭令牌登录查看个人用量,无需打扰管理员
3.6 权限治理(RBAC)
| 角色 | 权限范围 |
|---|---|
admin |
超管,全部权限(含系统配置 + 后台用户管理) |
manager |
内部管理:用户令牌 / 分组 / 内容安全 / 数据分析(只读) |
viewer |
只读:数据分析 / 用户管理 / 内容安全 |
4. 技术架构
4.1 双端口服务模型
┌──────────────────────────────────────────────────────────┐
│ 企业 AI 网关进程 │
├─────────────────────────┬────────────────────────────────┤
│ 代理端口 :8080 │ 管理端口 :8081 │
│ (纯 AI 转发) │ (管理 API + 前端 Web) │
│ │ │
│ • Bearer token 鉴权 │ • JWT 鉴权 + RBAC │
│ • OpenAI / Anthropic │ • 14 类管理端点 │
│ • 流式 SSE 透传 │ • ServeDir 托管前端 │
│ • 审查 / 配额 / 限流 │ • SPA history 路由 fallback │
└─────────────────────────┴────────────────────────────────┘
↑ ↑
员工 / 应用调用 管理员浏览器访问
4.2 请求处理流水线
客户端请求
→ 认证(Bearer / JWT)
→ 内容审查(命中即拦截 + 日志)
→ 每日费用配额检查
→ RPM / 并发限流(governor + Semaphore)
→ model → provider 解析 + 同提供商路由
→ 上游转发(动态 base_url + 认证头注入)
→ usage 解析 / 费用计算 / 配额扣减 / 日志写入 / metrics 更新
→ 响应回客户端
5. 对接指引
5.1 OpenAI 协议(最常见)
curl https://gateway.your-company.com/v1/chat/completions \
-H "Authorization: Bearer sk-gw-xxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-chat",
"messages": [{"role":"user","content":"你好"}],
"stream": true
}'
任何兼容 OpenAI 协议的工具(OpenCode、Cursor、Continue、LangChain、OpenAI Python SDK…)只需替换 base_url 与 api_key 即可对接。
5.2 Anthropic 协议
curl https://gateway.your-company.com/anthropic/v1/messages \
-H "x-api-key: sk-gw-xxxxxxxxxxxxxxxxxxxxxx" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-3-5-sonnet-20241022",
"max_tokens": 1024,
"messages": [{"role":"user","content":"你好"}]
}'
5.3 模型元数据发现
GET /v1/models # OpenAI 协议
GET /anthropic/v1/models # Anthropic 协议
返回 context_length / max_completion_tokens,OpenCode 等工具可自动发现。