与 AIBrix 集成
当 AIBrix 负责模型部署、扩缩容和副本级路由,而 Semantic Router 应根据请求含义和策略选择模型池时,使用此拓扑。
AIBrix 与 Semantic Router 独立发布。请按当前 AIBrix 安装指南安装,并使用其维护的 Semantic Router 示例 获取特定版本的清单。本页说明两层控制如何配合。
职责划分
| 组件 | 负责 |
|---|---|
| Semantic Router | 信号、决策、模型池选择,以及按配方作用的插件。 |
| AIBrix | 模型工作负载、自动扩缩容、服务发现和副本级路由。 |
| Gateway API | 客户端流量,以及对 Semantic Router 的 ExtProc 调用。 |
Semantic Router 选择逻辑模型。随后 AIBrix 选择服务该模型的健康副本。将自动扩缩容和副本负载策略留在 AIBrix;不要在语义决策中重复实现。
开始之前
需要:
- 所选 AIBrix 版本支持的 Kubernetes 集群;
- Gateway API 以及该版本所需的网关;
kubectl、Helm、模型凭证和足够的推理容量;以及- 若要观察语义模型选择,至少两个模型名称。
固定 AIBrix 版本,并在应用清单前阅读其发行说明。不要从本页复制历史版本 URL,也不要假定开发标签适合 生产。
1. 部署并验证 AIBrix
按上游安装指南部署模型服务。在加入 Semantic Router 之前,通过 AIBrix 网关验证每个已服务模型:
kubectl get pods -A
kubectl get services -A
对计划暴露的每个模型名称发送直接的 Chat Completions 请求。这可以在独立于语义策略的情况下确认模型访问、容量和网关路由。
2. 对齐模型标识
对每个 AIBrix 模型,创建 Semantic Router 提供商模型,其 provider_model_id 为 AIBrix 端点接受的名称。将后端绑定到稳定的 Gateway 或 Service DNS 名称,不要绑定到 ClusterIP。
然后从模型卡和决策中引用这些提供商名称。同一标识必须在四处一致:
- 面向请求的虚拟模型或入口;
- Semantic Router 提供商模型;
- AIBrix/Gateway 路由资源;以及
- 模型服务器所服务的模型名称。
部署前校验完整的 Router 文档:
vllm-sr config validate --config config.yaml
3. 部署 Semantic Router 和 Gateway 策略
上游示例为其当前 AIBrix 版本提供完整集成。若改编而非原样使用该示例:
- 按配置工作流 用
configOverride部署 Router 配置; - 将提供商凭证放在 Kubernetes Secrets 中;
- 保留网关期望的 ExtProc 处理模式;以及
- 同时更新 Router 提供商和 Gateway 后端。
对于大型请求体或立即流式响应,更改处理模式前请先阅读 Streamed ExtProc。