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-inferencePeriksa 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=5mKonfirmasikan 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.
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 HTTP | Penyebab |
|---|---|
401 Unauthorized | Kredensial tidak valid atau izin tidak mencukupi |
404 Not Found | ID model yang ditentukan tidak ada di penyedia |
502 Bad Gateway | Endpoint model hulu (upstream) tidak dapat dijangkau |
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:
| Pengujian | Cara memicu | Perilaku yang diharapkan |
|---|---|---|
| API key tidak valid | Tetapkan nilai kunci yang salah untuk sementara dalam secret | Gateway mengembalikan 401, tidak mengalami crash |
| Endpoint tidak dapat dijangkau | Tetapkan base_url ke host yang tidak valid | Gateway mengembalikan 502 atau 503, mencatat error hulu |
| ID model salah bentuk | Tetapkan model ke ID yang tidak ada | Penyedia mengembalikan 404, error ditampilkan ke pemanggil |
| Env var secret hilang | Hapus kunci dari bob.modelGateway.secrets | Kegagalan saat request-time dengan log error yang merujuk variabel yang hilang |
| Sertifikat TLS kedaluwarsa | Sediakan sertifikat kedaluwarsa sebagai ca_cert_pem | Kegagalan 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 -fKumpulkan dump log lengkap untuk dibagikan dengan tim support:
oc logs -n <bob-namespace> deploy/bob-inference --since=1h > bob-inference.logPola log penting:
| Pola log | Artinya |
|---|---|
| Model registered successfully | Gateway memuat entri model tanpa error |
connection refused / no route to host | Kegagalan konektivitas ke endpoint model |
401 / 403 from upstream | Kredensial salah atau tidak memiliki izin yang diperlukan |
certificate signed by unknown authority | Sertifikat CA hilang atau salah di ca_cert_pem |
environment variable not found | Secret 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-serviceMengganti 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-secretsLihat Men-deploy konfigurasi untuk referensi flag lengkap.