安裝後驗證

安裝後透過驗證服務健康狀態、模型連線能力、推論請求、路由行為和錯誤處理,確認模型閘道運作正常。

安裝和設定模型推論閘道後,請驗證部署是否正常運作。按順序完成以下驗證任務。在繼續下一步之前,確認每個步驟都成功完成。

驗證閘道健康狀態

確認 Inference Service Pod 正在執行且所有容器已就緒:

oc get pods -n <bob-namespace> -l app=bob-inference

檢查啟動日誌以了解閘道初始化情況。成功啟動時,每個已設定的模型被註冊都會記錄到日誌中。憑證或設定解析錯誤也會在此處出現:

oc logs -n <bob-namespace> deploy/bob-inference --since=5m

從叢集內部確認閘道的 /v1/models 端點是否有回應——這是確認閘道已啟動並載入設定的最清晰信號:

oc exec -n <bob-namespace> deploy/bob-gateway -- \
  curl -sk https://bob-inference.<bob-namespace>.svc.cluster.local:7330/v1/model/info | jq .

驗證模型連線能力

檢查每個預期 model_name 的 /v1/models 回應。連線失敗的模型(錯誤的 URL、驗證錯誤、TLS 失敗)將不出現在清單中,或以錯誤狀態出現。

注意:

只有 model_info 中 exposed: true 的模型才會出現在公開的 /v1/models 清單中。exposed: false 的模型(例如防護欄模型)不會出現,但仍應可在內部存取。不在清單中並不總是代表連線失敗。

測試模型推論

從叢集內部直接向 Inference Service 傳送最小測試完成請求,針對核心模型和防護欄模型均進行測試:

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 相符。

如果任何模型項目設定了 fallbacks,請透過暫時將主要模型的 base_url 指向不可存取的主機來驗證備援路徑,並確認閘道會回退到清單中的下一個模型。測試後恢復正確的 base_url。

對於 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 from upstream憑證錯誤或缺少所需權限
certificate signed by unknown authorityca_cert_pem 中的 CA 憑證缺失或不正確
environment variable not found以 env.* 參照的 Secret 不在掛載的 Secret 中

對於事件層級的錯誤(例如阻止容器啟動的 Secret 掛載失敗):

oc describe pod -n <bob-namespace> -l app=inference-service

切換核心推論模型

要在安裝後從一個受支援的核心推論模型切換到另一個:

確保新模型已部署

確認新模型已部署並提供服務。請參閱模型服務基礎架構。

更新模型閘道設定檔

更新你的 model-gateway.yaml 以參照新模型。請參閱設定模型閘道。

套用變更

使用 bobctl update-model-config 套用更新後的設定:

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

請參閱部署設定以了解完整的旗標參考。

這個主題如何?