安装后验证

通过验证服务健康状况、模型连接性、推理请求、路由行为和错误处理,确认模型网关在安装后正常运行。

安装和配置模型推理网关后,验证部署是否正常运行。按顺序完成以下验证任务。在继续下一步之前,确认每个步骤均已成功。

验证网关健康状况

检查推理服务 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 authorityca_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 以引用新模型。请参阅配置模型网关。

应用更改

使用 bobctl update-model-config 应用更新后的配置:

bobctl update-model-config --model-config ./my-model-config.yaml --update-secrets

完整的标志参考,请参阅部署配置。

这个主题怎么样?