Verifica post-installazione
Verifica che il Model Gateway funzioni correttamente dopo l'installazione validando la salute del servizio, la connettività ai modelli, le richieste di inference, il comportamento di routing e la gestione degli errori.
Dopo aver installato e configurato il Model Inference Gateway, verifica che il deployment funzioni correttamente. Completa le seguenti attività di validazione nell'ordine indicato. Conferma che ogni passaggio abbia successo prima di procedere al successivo.
Verifica la salute del gateway
Controlla che il pod dell'Inference Service sia in esecuzione e tutti i container siano pronti:
oc get pods -n <bob-namespace> -l app=bob-inferenceControlla i log di avvio per l'inizializzazione del gateway. Un avvio riuscito registra la registrazione di ogni modello configurato. Gli errori di analisi delle credenziali o della configurazione emergono qui:
oc logs -n <bob-namespace> deploy/bob-inference --since=5mConferma che l'endpoint /v1/models del gateway risponda dall'interno del cluster — questo è il segnale più chiaro che è attivo e ha caricato la configurazione:
oc exec -n <bob-namespace> deploy/bob-gateway -- \
curl -sk https://bob-inference.<bob-namespace>.svc.cluster.local:7330/v1/model/info | jq .Valida la connettività ai modelli
Controlla la risposta di /v1/models per ogni model_name atteso. Un modello che non è riuscito a connettersi (URL errato, errore di autenticazione, errore TLS) è assente dall'elenco o presente con uno stato di errore.
Solo i modelli con exposed: true in model_info appaiono nell'elenco pubblico /v1/models. I modelli con exposed: false (ad esempio, il modello guardrail) non appaiono ma dovrebbero essere comunque raggiungibili internamente. L'assenza dall'elenco non è sempre un errore di connettività.
Testa l'inference del modello
Invia una richiesta di completamento di test minimale direttamente all'Inference Service dall'interno del cluster per il modello core e per il modello 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 .Una risposta riuscita contiene un array choices con un campo message.content.
Errori comuni:
| Stato HTTP | Causa |
|---|---|
401 Unauthorized | Credenziali non valide o permessi insufficienti |
404 Not Found | L'ID del modello specificato non esiste nel provider |
502 Bad Gateway | L'endpoint del modello upstream non è raggiungibile |
Il modello guardrail deve essere raggiungibile e in grado di elaborare le richieste. Se il modello guardrail non è disponibile, IBM Bob rifiuta tutte le richieste di inference. Assicurati che la validazione del guardrail abbia successo prima di considerare l'installazione completa.
Valida il routing dei modelli
Conferma che il modello principale instradi correttamente verificando che il campo model nella risposta corrisponda al model_name richiesto.
Se fallbacks sono configurati per qualsiasi voce del modello, valida il percorso di fallback puntando temporaneamente il base_url del modello principale a un host irraggiungibile e confermando che il gateway esegua il fallback al modello successivo nell'elenco. Ripristina il base_url corretto dopo il test.
Per i modelli con exposed: false, conferma che il routing interno li risolva ancora correttamente anche se non appaiono nell'elenco pubblico dei modelli.
Valida la gestione degli errori
Esegui i seguenti test negativi deliberati per confermare che il gateway gestisca i guasti in modo corretto:
| Test | Come attivarlo | Comportamento atteso |
|---|---|---|
| Chiave API non valida | Imposta temporaneamente un valore di chiave errato nel secret | Il gateway restituisce 401, non va in crash |
| Endpoint irraggiungibile | Imposta base_url su un host non valido | Il gateway restituisce 502 o 503, registra l'errore upstream |
| ID modello non valido | Imposta model su un ID inesistente | Il provider restituisce 404, l'errore viene esposto al chiamante |
| Variabile d'ambiente del secret mancante | Rimuovi una chiave da bob.modelGateway.secrets | Errore al momento della richiesta con un errore registrato che fa riferimento alla variabile mancante |
| Certificato TLS scaduto | Fornisci un certificato scaduto come ca_cert_pem | Errore di handshake TLS registrato al momento della richiesta |
Raccogli log e risolvi i problemi
Trasmetti i log in tempo reale durante una richiesta di test per osservare le decisioni di routing del gateway in tempo reale:
oc logs -n <bob-namespace> deploy/bob-inference -fRaccogli un dump completo dei log da condividere con il supporto:
oc logs -n <bob-namespace> deploy/bob-inference --since=1h > bob-inference.logPattern di log chiave:
| Pattern di log | Significato |
|---|---|
| Model registered successfully | Il gateway ha caricato la voce del modello senza errori |
connection refused / no route to host | Errore di connettività all'endpoint del modello |
401 / 403 from upstream | La credenziale è errata o manca delle autorizzazioni richieste |
certificate signed by unknown authority | Il certificato CA è mancante o non corretto in ca_cert_pem |
environment variable not found | Un secret referenziato con env.* non è nei secret montati |
Per gli errori a livello di evento (ad esempio, errori di mount del secret che impediscono l'avvio del container):
oc describe pod -n <bob-namespace> -l app=inference-serviceCambio del modello di inference core
Per passare da un modello di inference core supportato a un altro post-installazione:
Assicurati che il nuovo modello sia deployato
Conferma che il nuovo modello sia deployato e in servizio. Vedere Infrastruttura di model serving.
Aggiorna il file di configurazione del model gateway
Aggiorna il tuo model-gateway.yaml per fare riferimento al nuovo modello. Vedere Configurazione del Model Gateway.
Applica la modifica
Applica la configurazione aggiornata usando bobctl update-model-config:
bobctl update-model-config --model-config ./my-model-config.yaml --update-secretsVedere Deployment della configurazione per il riferimento completo ai flag.