问题域/PD-443

多模型路由

Multi-Model Routing

解决不同任务阶段使用不同 LLM 模型的选择、切换和成本优化问题

子问题

1.按任务复杂度选择模型

2.多供应商 API Key 管理

3.模型 token 限制感知

4.运行时模型热切换

5.跨供应商 token 超限异常的统一检测与分类

6.长文本生成时的渐进式截断重试策略

7.本地开发与云部署的 API Key 双通道管理

各项目的解法1 solutions

Signals

横向对比

维度OpenDeepResearch
路由粒度四阶段独立模型:summarization/research/compression/final_report
切换机制init_chat_model configurable_fields + with_config 运行时注入
供应商支持provider:model 命名约定,自动路由 OpenAI/Anthropic/Google/Cohere/Mistral/Ollama/Bedrock
token感知MODEL_TOKEN_LIMITS 静态映射表 + 渐进式截断重试(每次缩减10%)
Key管理双通道:环境变量(本地)+ config.apiKeys(云部署),按 provider 前缀自动分发
配置方式Pydantic BaseModel + x_oap_ui_config 元数据驱动 UI 表单

最佳实践

1.用 init_chat_model configurable_fields 实现运行时切换

2.维护 MODEL_TOKEN_LIMITS 映射表感知各模型限制

3.用 provider:model 命名约定让 init_chat_model 自动路由到对应 SDK

4.为每个模型字段配套独立的 max_tokens 字段实现细粒度控制

5.token 超限时按 10% 递减截断重试而非直接失败