Foundry Model Router 扩展至 28 个区域:模型池刷新后,部署配置要注意什么

2026-08-31 30 预计阅读时间: 1 分钟
来源: infoq.com AI 摘要 Original link

Disclaimer: This article is an AI-assisted summary. Read it together with the original source when precision matters. The summary may omit context, version differences, or edge cases and is not official documentation.

预计阅读时间:8 分钟

Microsoft 正在扩大 Foundry Model Router 的覆盖范围:全球标准部署从两个区域扩展到 28 个区域,数据区域部署覆盖 21 个区域。同时,模型池加入 Claude Opus 4.8 和 GPT-5.6,并移除四个已弃用模型。对使用默认模型池的团队来说,这些变化会自动生效;但如果部署配置了模型子集,新模型不会自动加入。

这次更新的关键不只是“可用区域变多了”。模型池发生变化后,路由结果、上下文窗口和成本表现都可能随之改变,应用需要把模型池当成一个会演进的运行时依赖来管理。

覆盖范围扩大,部署形态仍然不同

目前需要区分两类部署范围:

  • 全球标准部署覆盖 28 个区域。
  • 数据区域部署覆盖 21 个区域。

区域覆盖扩大后,跨区域可用性和故障转移空间更大,但数据驻留要求不会因此消失。对受监管业务,应该继续根据数据处理边界选择数据区域部署,而不能只根据区域数量做决定。

可以这样检查团队当前的部署策略:

  1. 确认业务是否允许请求在多个区域之间路由。
  2. 确认提示词、用户输入和模型输出的驻留要求。
  3. 检查应用是否把区域、模型名称或部署 ID 写死在代码中。
  4. 为模型池变化准备监控和回归测试。

模型池更新会改变运行时行为

模型路由器会从模型池中选择模型。默认部署会自动接收模型池变更,因此 Claude Opus 4.8 和 GPT-5.6 会在符合条件时进入可选范围,四个已弃用模型则会被移除。

如果团队配置了模型子集,行为不同:新模型不会自动加入,只有显式把它们加入配置后,路由器才会使用它们。这种方式更适合对输出稳定性、合规范围或成本上限有严格要求的生产服务,但也意味着团队需要主动维护配置。

另一个容易被忽略的限制是:有效上下文窗口等于模型池中上下文窗口最小的那个模型。例如,一个池里同时放入长上下文模型和短上下文模型,路由器对外提供的有效上下文能力会受最小值限制。应用不能只查看其中一个模型的最大上下文长度来设计请求。

这会直接影响以下功能:

  • 长文档总结和检索增强生成。
  • 多轮对话历史保留。
  • 工具调用结果回传。
  • 大型结构化输入,例如日志、代码或 JSON 文档。

一个可维护的模型池配置示例

下面的 YAML 是一个实践示例,用于表达“固定模型子集、明确上下文上限、保留区域策略”的配置思路。实际字段名请以团队使用的 Foundry 管理界面或 API schema 为准。

# model-router.example.yaml
router:
  name: support-router-prod
  deployment_mode: data_zone
  allowed_regions:
    - eastus
    - westeurope

  # 配置子集意味着新模型不会自动加入,需要显式维护
  model_pool:
    - name: gpt-5.6
      max_context_tokens: 128000
    - name: claude-opus-4.8
      max_context_tokens: 200000

  # 按模型池最小值设置应用侧保护阈值
  effective_context_tokens: 128000
  max_output_tokens: 4096

  policy:
    allow_automatic_pool_updates: false
    require_region_residency: true

可以在 CI 中增加一个简单的配置检查,避免模型池的最小上下文能力低于应用假设:

#!/usr/bin/env bash
set -euo pipefail

CONFIG="${1:-model-router.example.yaml}"
EXPECTED_MIN_CONTEXT="${EXPECTED_MIN_CONTEXT:-128000}"

actual_min_context="$({
  yq '.router.model_pool[].max_context_tokens' "$CONFIG" \
    | sort -n \
    | head -n 1
})"

if [[ -z "$actual_min_context" ]]; then
  echo "model pool is empty: $CONFIG" >&2
  exit 1
fi

if (( actual_min_context < EXPECTED_MIN_CONTEXT )); then
  echo "context window regression: ${actual_min_context} < ${EXPECTED_MIN_CONTEXT}" >&2
  exit 1
fi

echo "model pool check passed: effective context = $actual_min_context"

运行前需要安装能够解析 YAML 的 yq,并把 EXPECTED_MIN_CONTEXT 调整为应用真正依赖的阈值。这个检查不能替代 Foundry 的服务端校验,但可以尽早发现配置更新导致的上下文能力下降。

默认池还是固定子集

两种策略各有适用场景。

默认模型池适合希望自动获得新模型和平台维护的团队。它减少了人工配置工作,但模型选择可能发生变化,必须接受输出风格、延迟、价格或工具调用行为的潜在变化。对于这类部署,建议持续记录路由到的模型,并对关键任务运行离线评测。

固定模型子集适合需要更强可重复性的生产服务,例如合同抽取、财务分类或严格审计场景。代价是新模型不会自动获得,弃用模型也可能要求团队主动调整配置。模型池更新后,应明确执行以下动作:

  • 查看新模型是否满足区域和合规要求。
  • 对 Claude Opus 4.8、GPT-5.6 等新模型进行小流量测试。
  • 重新确认有效上下文窗口和输出上限。
  • 更新成本、延迟、准确率和安全性基线。
  • 对已弃用模型准备替代和回滚方案。

落地检查清单

Foundry Model Router 从有限区域扩展到更广的全球标准和数据区域范围,降低了区域可用性限制;模型池刷新则让部署配置的生命周期管理变得更重要。

上线前可以按这份清单检查:

  • [ ] 选择全球标准或数据区域部署,并记录理由。
  • [ ] 确认默认模型池是否符合数据驻留和合规要求。
  • [ ] 如果使用固定子集,显式评估并加入需要的新模型。
  • [ ] 按模型池最小上下文窗口限制请求大小。
  • [ ] 记录模型路由结果、延迟、错误率和成本。
  • [ ] 为模型移除和新模型加入建立回归测试。
  • [ ] 给自动更新和固定子集分别制定运维流程。

把模型路由器当作一个动态依赖来管理,应用才能在获得新模型能力的同时,控制区域、上下文和输出稳定性带来的风险。


相关推荐