MLOps Academy · درس

تقديم نموذج Production

حمّل النموذج المُرقّى إلى خدمة FastAPI.

الدرس 3 من 413 خطوة

تقديم نموذج Production درس مجاني في MLOps Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في MLOps Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة MLOps Academy 4 دروس في المجموع.

من السجل إلى واجهة API

النموذج الذي تمت ترقيته موجود في السجل. حمّله الآن داخل خدمة FastAPI لكي تتمكّن الطلبات الحقيقية من الحصول على تنبؤات. 🌐

الإشارة إليه بالاسم المستعار

أنشئ URI للنموذج يشير إلى الاسم المستعار champion. ولن يثبّت كودك إصدارًا بعينه، لذا ستعمل الترقيات تلقائيًا.

MODEL_URI = "models:/churn-classifier@champion"

تحميل النموذج

استخدم mlflow.pyfunc.load_model لجلب نموذج الإنتاج إلى الذاكرة باعتباره كائن Python قابلًا للاستدعاء.

import mlflow.pyfunc

model = mlflow.pyfunc.load_model(MODEL_URI)

التحميل مرة واحدة عند بدء التشغيل

التحميل بطيء، لذا نفّذه مرة واحدة عند بدء تشغيل التطبيق، وليس مع كل طلب. استخدم معالج lifespan في FastAPI للتحميل قبل وصول حركة المرور.

from contextlib import asynccontextmanager

@asynccontextmanager
async def lifespan(app):
    app.state.model = mlflow.pyfunc.load_model(MODEL_URI)
    yield

إنشاء التطبيق

اربط دورة الحياة بمثيل FastAPI. ومن هذه النقطة، يبقى النموذج المحمّل في app.state وتشاركه كل الطلبات.

from fastapi import FastAPI

app = FastAPI(lifespan=lifespan)

التحقّق من الإدخال

عرّف نموذج Pydantic لنص الطلب حتى تُرفض المدخلات غير الصحيحة قبل أن تصل إلى النموذج.

from pydantic import BaseModel

class Features(BaseModel):
    tenure: int
    monthly_charges: float

كتابة نقطة نهاية التنبؤ

حوّل الإدخال الذي تم التحقّق منه إلى صف واستدعِ النموذج. وتعيد طريقة predict التنبؤ الذي ترسله مرة أخرى بتنسيق JSON.

@app.post("/predict")
def predict(f: Features):
    pred = app.state.model.predict([[f.tenure, f.monthly_charges]])
    return {"prediction": int(pred[0])}

إضافة فحص للصحة

تتيح نقطة المسار الصغيرة /health لمنسّقي الحاويات معرفة أن الخدمة تعمل وأن النموذج انتهى من التحميل قبل توجيه حركة المرور إليها.

@app.get("/health")
def health():
    return {"status": "ok"}

تشغيل الخادم

شغّل باستخدام uvicorn وسيصبح نموذجك متاحًا عبر HTTP. ويمكن لأي عميل قادر على إرسال JSON باستخدام POST الحصول على تنبؤات الآن.

uvicorn serve:app --host 0.0.0.0 --port 8000

تحقّق سريع

لماذا نحمّل النموذج في معالج lifespan بدلًا من تحميله داخل دالة predict؟

تحديث النموذج النشط

لإطلاق نموذج جديد، أعد توجيه الاسم المستعار champion وأعد تشغيل الخدمة. وسيُحمّل الإصدار الجديد تلقائيًا عند بدء التشغيل.

النموذج نفسه في كل مكان

لأن الخدمة تجلب النموذج من السجل، يمكن لبيئات التطوير والاختبار والإنتاج تحميل artifact نفسه تمامًا باستخدام الاسم المستعار. لا حاجة إلى نسخ الأوزان ولصقها.

مراجعة: تقديم نموذج الإنتاج

حمّلت champion عند بدء التشغيل، وتحقّقت من الإدخال، وأتحت /predict و/health، وشغّلت الخدمة باستخدام uvicorn. أصبح نموذجك الآن service حيًا. ✅

البدء مجانًا

تعلم Python مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
30
الدروس
120

الأسئلة الشائعة

هل درس «تقديم نموذج Production» مجاني؟

نعم — نص درس «تقديم نموذج Production» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة MLOps Academy، انتقل إلى CoddyKit PRO. تتضمن دورة MLOps Academy 4 دروس في المجموع.

ماذا ستتعلم في «تقديم نموذج Production»؟

حمّل النموذج المُرقّى إلى خدمة FastAPI. تتمرن على MLOps Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ MLOps Academy؟

لا تُشترط خبرة سابقة. MLOps Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «تقديم نموذج Production»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس MLOps Academy هذا؟

نعم. كل درس في MLOps Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. التدريب والتسجيل في السجل
  2. ترقية أفضل نموذج إلى Production
  3. تقديم نموذج Production
  4. تتبّع دورة التنبؤ الكاملة
← العودة إلى MLOps Academy