التحقق قبل التثبيت
تحقق من اتصال النماذج، وبيانات الاعتماد، والشهادات، وإعدادات التكوين قبل التثبيت لتحديد مشكلات بوابة النماذج (Model Gateway) وحلها قبل نشر Bob المحلي.
قبل تثبيت Bob المحلي، تحقق من أن نقاط نهاية النماذج الخاصة بك، وبيانات اعتماد المصادقة، وشهادات TLS، وتكوين بوابة النماذج مهيأة بشكل صحيح ويمكن الوصول إليها من مجموعة OpenShift المستهدفة. يساعد إجراء عمليات التحقق هذه في تحديد مشكلات الاتصال، وبيانات الاعتماد غير الصالحة، ومشكلات الثقة في الشهادات، وأخطاء التكوين قبل النشر، مما يقلل من حالات فشل التثبيت وجهود استكشاف الأخطاء وإصلاحها.
راجع قائمة التحقق هذه قبل تنفيذ bobctl install لاكتشاف أي تكوينات مفقودة مبكرًا.
اختبار الاتصال بنقاط نهاية النماذج
تأكد من أن مجموعة OpenShift يمكنها الوصول إلى كل نقطة نهاية نموذج قبل نشر أي مكون من مكونات Bob. أنشئ pod تصحيح أخطاء مؤقتًا في فضاء الاسم المستهدف واختبر إمكانية الوصول عبر HTTPS مباشرةً:
# openai_compatible
oc run curl-test --image=curlimages/curl --restart=Never --rm -it -- \
curl -v https://<model-endpoint>/v1/models
# bedrock
oc run curl-test --image=curlimages/curl --restart=Never --rm -it -- \
curl -k https://bedrock.<AWS_REGION>.amazonaws.com/foundation-models \
--aws-sigv4 "aws:amz:${REGION}:bedrock" \
--user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY"بالنسبة لنقاط نهاية openai_compatible، اختبر مقابل قيمة base_url من تكوين بوابة النماذج لديك. بالنسبة للبنية التحتية المعزولة عن الشبكة أو الخاصة، هذه هي الطريقة الوحيدة للتحقق من الاتصال نظرًا لعدم وجود إمكانية وصول خارجية بحكم التصميم.
التحقق من المصادقة
تحقق من صحة بيانات الاعتماد قبل تشفيرها كأسرار في config.yaml. تؤدي بيانات الاعتماد غير الصالحة إلى فشل بدء تشغيل خدمة الاستدلال (Inference Service)، غالبًا مع رسالة سجل مبهمة.
-
openai_compatible— اختبر مفتاح API مباشرةً من pod تصحيح الأخطاء:curl -s https://<base_url>/v1/models \ -H "Authorization: Bearer <api_key>" | jq '.data[].id' -
bedrock— تحقق من قيمAWS_ACCESS_KEYوAWS_SECRET_ACCESS_KEYباستخدام AWS CLI قبل إضافتها إلىconfig.yaml:aws bedrock list-foundation-models --region us-east-1 -
vertex— فك تشفير قيمةGEMINI_CREDENTIALSالمشفرة بـ base64 وتأكد من أنها JSON صالح لحساب الخدمة قبل توفيرها:base64 -d <<< "$GEMINI_CREDENTIALS" | jq '.type' # Expected output: "service_account"
التحقق من شهادات TLS
في حال استخدام ca_cert_pem مع نقطة نهاية openai_compatible، تحقق من صحة الشهادة قبل توفيرها كسر.
تحقق من أن الشهادة مشفرة بصيغة PEM وغير منتهية الصلاحية:
echo "<cert content>" | openssl x509 -noout -datesتأكد من مطابقة الشهادة لسلسلة CA الخاصة بنقطة النهاية:
openssl s_client -connect <host>:<port> -CAfile ca.pemيمكن استخدام insecure_skip_verify: true مؤقتًا أثناء تصحيح أخطاء الاتصال الأولي فقط. أزله قبل الانتقال إلى بيئة الإنتاج الفعلية. إذا كان ca_cert_pem يشير إلى متغير بيئة غير موجود في bob.modelGateway.secrets، فستبدأ خدمة الاستدلال بنجاح ولكن سيفشل TLS في وقت الاستدلال.
التحقق من اكتشاف النماذج
تأكد من أن معرف model في كتلة الموفر يتطابق تمامًا مع ما يعرضه الموفر. يؤدي عدم التطابق إلى خطأ 404 أو عدم العثور على النموذج في وقت الاستدلال، وليس عند بدء التشغيل.
بالنسبة لنقاط نهاية openai_compatible، تحقق من معرفات النماذج المتاحة قبل التثبيت:
curl -s https://<base_url>/v1/models \
-H "Authorization: Bearer <api_key>" | jq '.data[].id'فحوصات أخطاء التكوين الشائعة
| خطأ التكوين | العَرَض | الفحص |
|---|---|---|
اسم السر في تكوين النموذج لا يطابق المفتاح في كتلة secrets في config.yaml | تفشل المصادقة في وقت الطلب، وليس عند بدء التشغيل | قارن كل مرجع env.* في تكوين النموذج بمفاتيح bob.modelGateway.secrets |
GEMINI_CREDENTIALS غير مشفر بـ base64 | يفشل موفر Vertex في تحليل بيانات الاعتماد عند بدء التشغيل | شغّل base64 -d <<< "$VALUE" وتأكد من أنه JSON صالح يحتوي على "type": "service_account" |
base_url يتضمن / في النهاية أو لاحقة مسار | يرجع الموفر خطأ 404 | أزل الشرطات المائلة اللاحقة — تضيف البوابة مسارات مثل /v1/chat/completions بنفسها |
تكرار قيم model_name في قائمة models | سلوك توجيه غير محدد | تأكد من أن جميع قيم model_name فريدة عبر التكوين |
تشغيل bobctl install بدون --model-config | بوابة فارغة، لا يوجد استدلال | تأكد من تمرير --model-config وإمكانية قراءة الملف في المسار المحدد |
متغير البيئة ca_cert_pem محدد في تكوين النموذج ولكنه مفقود من secrets | فشل TLS في وقت الاستدلال | راجع كل مرجع env.* في تكوين النموذج مقابل كتلة secrets |