在 LiteLLM 网关上的请求级智能模型路由
汇报人 hsh · 日期 2026-05-21(周四)· 阶段 MVP · 联调前
在 LiteLLM(统一代理多个大模型的网关)上加一层智能路由 —— 客户端只填一个占位模型名,系统自动决定这次该用哪个真实大模型。
💡 一句话:让每一个请求自动落到「能力够用,又最划算」的模型上,决策过程透明可查。
请求进来后,在发给真实模型之前,会顺序走完六步判断:
| 步骤 | 名称 | 说明 |
|---|---|---|
| 1 | 记录 | 留存请求内容,供后续训练用 |
| 2 | 看需求 | 有没有图、要不要调工具、文字多长 |
| 3 | 判难度 | 简单 / 中等 / 困难 |
| 4 | 列候选 | 列出能接这一档的模型 |
| 5 | 看会话 | 同一对话尽量用回原模型 |
| 6 | 挑选 | 排除不合适的,再加权挑一个 |
↓ 把选中的模型交还给 LiteLLM 正常发出 —— 整个过程毫秒级,每一步判断都记录在案。
💡 这六步对应五块能力:日志采集 · 硬约束过滤 · 难度分类 · 会话粘性 · 加权随机选择 —— 共同保证「选得对、选得稳、选得划算」。
「判难度」这一步要靠一个小模型完成。整条链路原本设想拆成三块独立部署,本周对齐后决定合并中间一块。
LiteLLM 网关(我们的路由层所在)
→ 网络 →
预处理层(独立后端服务,整理/加工请求)
→ 网络 →
4090 服务器(跑小模型,判断请求难度)
LiteLLM 网关 + 预处理函数(合并部署,代码仍隔离)
→ 网络 →
4090 服务器(跑小模型,判断请求难度)
⚠️ 为什么合并:中间层独立服务部署不顺、还要为它单独搭一套压测环境,成本不划算。合并后代码仍隔离成独立函数 —— 算法侧能单独维护,互不干扰。
五块核心能力全部开发完成并通过测试,路由逻辑本身已具备上线条件。
| 功能 | 状态 |
|---|---|
| 日志采集 | ✅ 已完成 |
| 硬约束过滤 | ✅ 已完成 |
| 难度分类 | ✅ 已完成 |
| 会话粘性 | ✅ 已完成 |
| 加权随机选择 | ✅ 已完成 |
| 指标 | 数值 | 说明 |
|---|---|---|
| 单元测试 | 195 | 全部通过 |
| 端到端实机测试 | 5 | 真实请求跑通 |
| LiteLLM 原有测试 | 242 | 对上游零影响 |
✅ 结论:代码侧风险已基本收敛。当前未完成的部分,是与算法侧的联调和真实环境压力测试。
周三的计划是对 4090 上的小模型做上限压力测试(测它每秒能扛多少请求),没能完成。
🚧 卡点:压测服务器到 4090 的网络一直没连通
✅ 定性:这是外部网络/运维环境的依赖问题,不是路由代码的问题。代码侧已就绪、测试通过,环境一通即可推进。
环境与代码两条线并行推进,目标是周五盘后完成第一次上线测试。
💡 盘后窗口业务量低、影响可控,是验证的安全时机;前提是今天网络能打通。
上线测试跑通后,下周从「能跑」转向「调优」,重点有三块:
💡 下周具体节奏取决于本周上线测试的结果;若环境受阻,下周首要任务仍是打通联调。
| 维度 | 判断 | 说明 |
|---|---|---|
| ✅ 信心 | 代码侧风险低 | 五大功能开发完成,195 项单元测试 + 5 项实机测试通过,对 LiteLLM 上游零影响 |
| ⚠️ 风险 | 外部网络环境 | 主要风险在压测服务器到 4090 的网络连通性 —— 属外部依赖,已由算法组现场推进 |
| ★ 关键节点 | 周五盘后上线测试 | 第一次真实环境端到端验证;结果决定下周是进入调优、还是继续攻联调 |
总体判断:项目主体进展顺利,路由逻辑已就绪;当前瓶颈是外部环境,不在代码本身。打通网络后即可快速推进上线。