)
引言:为什么"直接调 API"这件事突然变复杂了半年前如果你只调用一个模型,requests.post一把梭完全够用。但现在情况变了:业务里同时要用 DeepSeek 做高性价比的批量任务、Qwen3 做代码生成、GLM 做中文语义理解,偶尔还要接一个海外模型做兜底;某个供应商突然限流,整条业务链路直接挂掉,没有备选方案;月底账单一看,token 花销比预期多了两三倍,但不知道是哪个功能模块在烧钱;多个团队都在各自调用模型,密钥散落在各个仓库里,审计和权限管理无从下手。这些问题的本质,都指向同一件事:当模型调用从"单点"变成"多供应商、多团队、高并发"之后,业务代码里裸调 API 已经不够用了,你需要一层专门的调度中枢——这就是这两年 “LLM Gateway / AI 网关” 概念被反复提起的原因。这篇文章想把这层中间件掰开揉碎讲清楚:它到底解决什么问题、内部怎么设计、市面上有哪些自建和现成方案,以及——如果你的场景里需要接入 DeepSeek、Qwen、GLM、Kimi 这类国产模型——目前有哪些落地路径可以选。一、LLM 网关到底是什么传统 API 网关(Kong、APISIX、Spring Cloud Gateway)解决的是 HTTP 流量的鉴权、限流、路由、熔断。LLM 网关可以理解为**“API 网关 + 模型调用控制面”**,在传统能力之上,还要额外处理一批大模型场景特有的问题:协议差异:OpenAI、Anthropic、各家国产模型的请求/响应格式并不完全一致,网关要负责协议转换,对外统一成一套接口(通常是 OpenAI Chat Completions 兼容格式);超长响应与流式输出:大模型请求耗时从几百毫秒到几十秒不等,网关要支持无缓冲区代理、流式转发、请求优雅退出;Token 预算与成本归因:不是简单统计请求数,而是要按 token 用量做计费、配额和成本拆分;模型路由与质量控制:不同任务应该分给不同能力/成本的模型,还要考虑上下文长度、工具调用、结构化输出等模型特有能力差异。一个典型的请求生命周期大致是这样:客户端请求 → 网关接入层(鉴权、限流、协议识别) → 路由决策(选择目标模型/供应商) → 安全过滤(Prompt 注入检测、敏感内容拦截,可选) → 转发至真实模型后端 → 响应处理(流式转发、格式统一、计费打点) → 返回客户端架构上通常也会做控制面与数据面分离:控制面负责配置管理(路由规则、密钥、限流策略),数据面负责实际的请求转发,配置变更准实时下发到数据面节点,避免每次改配置都要重启服务。二、路由策略:怎么决定一个请求该走哪个模型这是网关设计里最有技术含量的部分,常见策略从简单到复杂大致分几档:1. 规则路由(最基础,多数团队第一版都是这个)按任务类型硬编码映射,简单直接:MODEL_MAP={"coding":"deepseek-v4",# 代码生成,性价比优先"reasoning"