Verifikasi pasca-instalasi

Verifikasi bahwa Model Gateway beroperasi dengan benar setelah instalasi dengan memvalidasi kesehatan layanan, konektivitas model, permintaan inferensi, perilaku routing, dan penanganan kesalahan.

Setelah kamu menginstal dan mengonfigurasi Model Inference Gateway, verifikasi bahwa deployment berfungsi dengan benar. Selesaikan tugas validasi berikut secara berurutan. Konfirmasikan bahwa setiap langkah berhasil sebelum melanjutkan ke langkah berikutnya.

Verifikasi kesehatan gateway

Periksa bahwa pod Inference Service berjalan dan semua container siap:

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

Periksa log startup untuk inisialisasi gateway. Startup yang berhasil mencatat setiap model yang dikonfigurasi sedang didaftarkan. Error parsing kredensial atau konfigurasi muncul di sini:

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

Konfirmasikan bahwa endpoint /v1/models gateway merespons dari dalam cluster — ini adalah sinyal paling jelas bahwa layanan aktif dan telah memuat konfigurasi:

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

Validasi konektivitas model

Periksa respons /v1/models untuk setiap model_name yang diharapkan. Model yang gagal terhubung (URL salah, auth error, kegagalan TLS) tidak ada dalam daftar atau muncul dengan status error.

Catatan:

Hanya model dengan exposed: true di model_info yang muncul di daftar /v1/models publik. Model dengan exposed: false (misalnya, model guardrail) tidak muncul tetapi seharusnya tetap dapat dijangkau secara internal. Ketidakhadiran dari daftar tidak selalu merupakan kegagalan konektivitas.

Uji inferensi model

Kirim permintaan completion pengujian minimal langsung ke Inference Service dari dalam cluster untuk model inti maupun model guardrail:

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 .

Respons yang berhasil berisi array choices dengan field message.content.

Error umum:

Status HTTPPenyebab
401 UnauthorizedKredensial tidak valid atau izin tidak mencukupi
404 Not FoundID model yang ditentukan tidak ada di penyedia
502 Bad GatewayEndpoint model hulu (upstream) tidak dapat dijangkau
Peringatan:

Model guardrail harus dapat dijangkau dan mampu memproses permintaan. Jika model guardrail tidak tersedia, IBM Bob menolak semua permintaan inferensi. Pastikan bahwa validasi guardrail berhasil sebelum menganggap instalasi selesai.

Validasi routing model

Konfirmasikan bahwa model utama merutekan dengan benar dengan memeriksa bahwa field model dalam respons cocok dengan model_name yang diminta.

Jika fallbacks dikonfigurasi pada entri model mana pun, validasi jalur fallback dengan mengarahkan base_url model utama ke host yang tidak dapat dijangkau untuk sementara dan memastikan gateway beralih ke model berikutnya dalam daftar. Pulihkan base_url yang benar setelah pengujian.

Untuk model dengan exposed: false, konfirmasikan bahwa routing internal tetap menyelesaikannya dengan benar meskipun tidak muncul di daftar model publik.

Validasi penanganan error

Jalankan uji negatif yang disengaja berikut untuk memastikan gateway menangani kegagalan dengan baik:

PengujianCara memicuPerilaku yang diharapkan
API key tidak validTetapkan nilai kunci yang salah untuk sementara dalam secretGateway mengembalikan 401, tidak mengalami crash
Endpoint tidak dapat dijangkauTetapkan base_url ke host yang tidak validGateway mengembalikan 502 atau 503, mencatat error hulu
ID model salah bentukTetapkan model ke ID yang tidak adaPenyedia mengembalikan 404, error ditampilkan ke pemanggil
Env var secret hilangHapus kunci dari bob.modelGateway.secretsKegagalan saat request-time dengan log error yang merujuk variabel yang hilang
Sertifikat TLS kedaluwarsaSediakan sertifikat kedaluwarsa sebagai ca_cert_pemKegagalan TLS handshake dicatat pada saat request-time

Kumpulkan log dan selidiki masalah

Lakukan streaming log langsung selama permintaan pengujian untuk mengamati keputusan routing gateway secara real time:

oc logs -n <bob-namespace> deploy/bob-inference -f

Kumpulkan dump log lengkap untuk dibagikan dengan tim support:

oc logs -n <bob-namespace> deploy/bob-inference --since=1h > bob-inference.log

Pola log penting:

Pola logArtinya
Model registered successfullyGateway memuat entri model tanpa error
connection refused / no route to hostKegagalan konektivitas ke endpoint model
401 / 403 from upstreamKredensial salah atau tidak memiliki izin yang diperlukan
certificate signed by unknown authoritySertifikat CA hilang atau salah di ca_cert_pem
environment variable not foundSecret yang dirujuk dengan env.* tidak ada dalam secret yang dipasang

Untuk error tingkat event (misalnya, kegagalan pemasangan secret yang mencegah container menyala):

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

Mengganti model inferensi inti

Untuk beralih dari satu model inferensi inti yang didukung ke model lain pasca-instalasi:

Pastikan model baru telah di-deploy

Konfirmasikan bahwa model baru telah di-deploy dan melayani permintaan. Lihat Infrastruktur model serving.

Perbarui file konfigurasi model gateway

Perbarui model-gateway.yaml kamu untuk merujuk model baru. Lihat Mengonfigurasi Model Gateway.

Terapkan perubahan

Terapkan konfigurasi yang diperbarui menggunakan bobctl update-model-config:

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

Lihat Men-deploy konfigurasi untuk referensi flag lengkap.

Bagaimana topik ini?