# 模型与路由模块设计 ## 1. 分层设计 | 层 | 职责 | |----|------| | 配置层 | 管理服务商、模型、路由规则和知识库模型绑定 | | 路由层 | 根据任务类型、范围和策略选择模型 | | 调用层 | 通过 OpenAI-compatible 客户端调用 Chat/Embedding | | 观测层 | 写入模型调用日志,供运行观测查询 | ## 2. 路由输入 模型路由至少需要: - `taskType` - `matchScope` - `scopeId` - `bizType` - `bizId` - 调用参数。 `matchScope` 初始支持 `GLOBAL`、`RAG_STORE`、`AGENT`。 ## 3. 路由输出 路由结果包含: - 服务商。 - 模型配置。 - 上游模型名。 - 超时时间。 - Fallback 列表。 - 调用选项。 ## 4. 失败策略 - 主模型失败时按 Fallback 顺序重试。 - 全部失败时返回统一错误。 - 每次调用均写入 `model_call_log`。 - Fallback 成功时状态记为 `FALLBACK_SUCCESS`。 ## 5. 与其他模块关系 - 知识资产模块使用 Embedding 路由和知识库模型绑定。 - Workflow 和 Agent 使用 Chat 路由。 - 运行观测读取 `model_call_log`。