التحقق بعد التثبيت
تحقق من أن بوابة النماذج (Model Gateway) تعمل بشكل صحيح بعد التثبيت عن طريق التحقق من صحة الخدمة، واتصال النماذج، وطلبات الاستدلال، وسلوك التوجيه، ومعالجة الأخطاء.
بعد تثبيت بوابة استدلال النماذج (Model Inference Gateway) وتكوينها، تحقق من أن عملية النشر تعمل بشكل صحيح. أكمل مهام التحقق التالية بالترتيب. تأكد من نجاح كل خطوة قبل المتابعة إلى الخطوة التالية.
التحقق من صحة البوابة
تحقق من تشغيل pod الخاص بـ Inference Service واستعداد جميع الحاويات:
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 .التحقق من اتصال النماذج
افحص استجابة /v1/models لكل model_name متوقع. النموذج الذي فشل في الاتصال (عنوان URL خاطئ، أو خطأ مصادقة، أو فشل TLS) يكون غائبًا عن القائمة أو يظهر مع حالة خطأ.
النماذج التي تحتوي على exposed: true في model_info فقط هي التي تظهر في قائمة /v1/models العامة. النماذج ذات 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 .تحتوي الاستجابة الناجحة على مصفوفة choices مع حقل message.content.
الأخطاء الشائعة:
| حالة HTTP | السبب |
|---|---|
401 Unauthorized | بيانات اعتماد غير صالحة أو أذونات غير كافية |
404 Not Found | معرف النموذج المحدد غير موجود لدى الموفر |
502 Bad Gateway | تعذر الوصول إلى نقطة نهاية النموذج الرئيسي (Upstream) |
يجب أن يكون نموذج الحراسة قابلاً للوصول وقادرًا على معالجة الطلبات. إذا كان نموذج الحراسة غير متوفر، يرفض IBM Bob جميع طلبات الاستدلال. تأكد من نجاح التحقق من الحراسة قبل اعتبار التثبيت مكتملاً.
التحقق من توجيه النماذج
تأكد من توجيه النموذج الأساسي بشكل صحيح عن طريق التحقق من أن حقل model في الاستجابة يتطابق مع model_name المطلوب.
إذا تم تكوين fallbacks على أي إدخال نموذج، فتحقق من مسار التراجع عن طريق توجيه base_url للنموذج الأساسي مؤقتًا إلى مضيف يتعذر الوصول إليه وتأكيد تراجع البوابة إلى النموذج التالي في القائمة. استعد base_url الصحيح بعد الاختبار.
بالنسبة للنماذج التي تحتوي على exposed: false، تأكد من أن التوجيه الداخلي لا يزال يحلها بشكل صحيح على الرغم من عدم ظهورها في قائمة النماذج العامة.
التحقق من معالجة الأخطاء
قم بتشغيل الاختبارات السلبية المتعمدة التالية للتأكد من تعامل البوابة مع حالات الفشل بسلاسة:
| الاختبار | كيفية التحفيز | السلوك المتوقع |
|---|---|---|
| مفتاح API غير صالح | تعيين قيمة مفتاح خاطئة مؤقتًا في السر | تعيد البوابة 401، ولا تنهار |
| نقطة نهاية يتعذر الوصول إليها | تعيين base_url لمضيف غير صالح | تعيد البوابة 502 أو 503، وتسجل خطأ الخادم الرئيسي |
| معرف نموذج تالف | تعيين model لمعرف غير موجود | يرجع الموفر 404، ويظهر الخطأ للمتصل |
| متغير بيئة مفقود للسر | إزالة مفتاح من 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 authority | شهادة CA مفقودة أو غير صحيحة في ca_cert_pem |
environment variable not found | سر مشار إليه بـ env.* غير موجود في الأسرار المركبة |
بالنسبة للأخطاء على مستوى الأحداث (على سبيل المثال، حالات فشل تركيب الأسرار التي تمنع بدء الحاوية):
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راجع نشر التكوين للاطلاع على مرجع الرايات الكامل.