安装后验证
通过验证服务健康状况、模型连接性、推理请求、路由行为和错误处理,确认模型网关在安装后正常运行。
安装和配置模型推理网关后,验证部署是否正常运行。按顺序完成以下验证任务。在继续下一步之前,确认每个步骤均已成功。
验证网关健康状况
检查推理服务 pod 是否正在运行且所有容器均已就绪:
oc get pods -n <bob-namespace> -l app=bob-inference检查启动日志中的网关初始化信息。成功启动时,日志中会记录每个已配置模型的注册信息。凭证或配置解析错误会在此处显示:
oc logs -n <bob-namespace> deploy/bob-inference --since=5m从集群内部确认网关的 /v1/model/info 端点是否响应——这是网关已启动并加载配置的最清晰信号:
oc exec -n <bob-namespace> deploy/bob-gateway -- \
curl -sk https://bob-inference.<bob-namespace>.svc.cluster.local:7330/v1/model/info | jq .验证模型连接性
检查 /v1/model/info 响应中是否包含每个预期的 model_name。连接失败的模型(URL 错误、身份验证错误、TLS 故障)不会出现在列表中,或以错误状态出现。
只有 model_info 中 exposed: true 的模型才会出现在公共 /v1/model/info 列表中。exposed: false 的模型(例如护栏模型)不会出现,但在内部应仍然可以访问。从列表中缺失不一定意味着连接失败。
测试模型推理
从集群内部向推理服务直接发送最小测试完成请求,分别测试核心模型和护栏模型:
oc exec -n <bob-namespace> deploy/bob-gateway -- \
curl -sk https://bob-inference.<bob-namespace>.svc.cluster.local:7330/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "<model_name>",
"messages": [{"role": "user", "content": "Say hello."}],
"max_tokens": 10
}' | jq .成功响应包含带有 message.content 字段的 choices 数组。
常见错误:
| HTTP 状态 | 原因 |
|---|---|
401 Unauthorized | 凭证无效或权限不足 |
404 Not Found | 指定的模型 ID 在提供商处不存在 |
502 Bad Gateway | 上游模型端点无法访问 |
护栏模型必须可访问且能够处理请求。如果护栏模型不可用,IBM Bob 将拒绝所有推理请求。在认为安装完成之前,请确保护栏验证成功。
验证模型路由
通过检查响应中的 model 字段是否与请求的 model_name 匹配,确认主模型路由正确。
对于 exposed: false 的模型,确认内部路由仍能正确解析,即使它们不出现在公共模型列表中。
验证错误处理
运行以下蓄意的负面测试,确认网关能优雅地处理故障:
| 测试 | 触发方式 | 预期行为 |
|---|---|---|
| 无效 API 密钥 | 在 Secret 中临时设置错误的密钥值 | 网关返回 401,不崩溃 |
| 端点不可达 | 将 base_url 设置为无效主机 | 网关返回 502 或 503,记录上游错误 |
| 模型 ID 格式错误 | 将 model 设置为不存在的 ID | 提供商返回 404,错误被传递给调用方 |
| 缺少 Secret 环境变量 | 从 bob.modelGateway.secrets 中移除一个密钥 | 请求时失败,日志中记录引用缺失变量的错误 |
| 过期 TLS 证书 | 提供过期证书作为 ca_cert_pem | 请求时记录 TLS 握手失败 |
收集日志并排查问题
在测试请求期间实时流式传输日志,观察网关路由决策:
oc logs -n <bob-namespace> deploy/bob-inference -f收集完整日志以提交给支持团队:
oc logs -n <bob-namespace> deploy/bob-inference --since=1h > bob-inference.log关键日志模式:
| 日志模式 | 含义 |
|---|---|
| Model registered successfully | 网关加载模型条目时未出现错误 |
connection refused / no route to host | 与模型端点的连接失败 |
来自上游的 401 / 403 | 凭证错误或缺少所需权限 |
certificate signed by unknown authority | ca_cert_pem 中的 CA 证书缺失或不正确 |
environment variable not found | 使用 env.* 引用的 Secret 不在挂载的 Secret 中 |
对于事件级错误(例如,阻止容器启动的 Secret 挂载失败):
oc describe pod -n <bob-namespace> -l app=bob-inference切换核心推理模型
安装后从一个受支持的核心推理模型切换到另一个:
确认新模型已部署
确认新模型已在可通过网络访问、并公开兼容 OpenAI 的 API 的端点上部署并提供服务。
更新模型网关配置文件
更新 model-gateway.yaml 以引用新模型。请参阅配置模型网关。