f7a720204a
- 移除 GovAI, nomifun-tauri, 算力盒子 的 submodule 引用 - 添加所有子项目的完整源代码 - 保留原始 .git 为 .git.bak 备份
49 lines
1.9 KiB
Markdown
49 lines
1.9 KiB
Markdown
# 模型故障转移队列
|
|
|
|
当前模型路由设置背后的实现是**模型故障转移队列**,不是多凭据轮询池。
|
|
|
|
它允许 Nomi 引擎会话在检测到提供商故障时,按你配置的顺序尝试备用模型。
|
|
ACP/CLI 智能体不包含在这个功能里,因为它们的提供商调用发生在外部运行时内部。
|
|
|
|
## 它做什么
|
|
|
|
- 全局默认队列存储在 `agent.model_failover`。
|
|
- 单个会话可以通过 `extra.model_failover` 覆盖。
|
|
- 只作用于 Nomi 引擎会话。
|
|
- 可被 IDMM 的故障监视流程使用。
|
|
- 不会在 API Key 之间分摊负载。
|
|
- 不会让所有 CLI 智能体共享同一个模型池。
|
|
|
|
## 什么时候使用
|
|
|
|
当一个 Nomi 引擎会话需要在临时提供商/模型故障后自动换用备用模型时,使用模型
|
|
故障转移。
|
|
|
|
常见队列:
|
|
|
|
```text
|
|
主模型 -> 便宜备用模型 -> 更强备用模型 -> 人工检查
|
|
```
|
|
|
|
这个队列解决的是可靠性,不是额度聚合。如果所有配置的提供商都不可用,或者
|
|
prompt / tool 状态本身无效,故障转移也无法让这一轮成功。
|
|
|
|
## 与 IDMM 的关系
|
|
|
|
IDMM 有独立的故障监视和决策停滞监视。模型故障转移属于故障侧:当某个提供商
|
|
故障被判定为可恢复,且该会话启用了故障转移时,IDMM 可以让会话运行时按配置
|
|
队列重试。
|
|
|
|
AutoWork 位于更上一层:它负责让标签队列继续认领和推进需求,而 IDMM / 模型
|
|
故障转移负责尽量让每个已认领的回合活下来。
|
|
|
|
## 真相来源
|
|
|
|
- `crates/backend/nomifun-conversation/src/model_failover.rs`
|
|
- `crates/backend/nomifun-conversation/src/failover_seam.rs`
|
|
- `crates/backend/nomifun-app/src/router/model_failover.rs`
|
|
- `crates/backend/nomifun-idmm/src/policy.rs`
|
|
|
|
本页旧版本曾把该功能描述成多凭据 round-robin 路由。那不是当前实现,不应作为
|
|
运维或用户指南使用。
|