تمكين جداول الاستدلال على نقاط نهاية خدمة النموذج باستخدام واجهة برمجة التطبيقات

هام

هذه الميزة في المعاينة العامة.

توضح هذه المقالة كيفية استخدام واجهة برمجة تطبيقات Databricks لتمكين جداول الاستدلال لنقطة نهاية خدمة نموذج. للحصول على معلومات عامة حول استخدام جداول الاستدلال، بما في ذلك كيفية تمكينها باستخدام واجهة مستخدم Databricks، راجع جداول الاستدلال لمراقبة النماذج وتصحيح الأخطاء.

يمكنك تمكين جداول الاستدلال عند إنشاء نقطة نهاية جديدة أو على نقطة نهاية موجودة. توصي Databricks بإنشاء نقطة النهاية باستخدام كيان الخدمة بحيث لا يتأثر جدول الاستدلال إذا تمت إزالة المستخدم الذي أنشأ نقطة النهاية من مساحة العمل.

مالك جداول الاستدلال هو المستخدم الذي أنشأ نقطة النهاية. تتبع جميع قوائم التحكم بالوصول (ACLs) في الجدول أذونات كتالوج Unity القياسية ويمكن تعديلها من قبل مالك الجدول.

المتطلبات

  • يجب تمكين كتالوج Unity لمساحة العمل الخاصة بك.
  • يجب أن يكون لدى كل من منشئ نقطة النهاية والمعدل إذن Can Manage على نقطة النهاية. راجع قوائم التحكم بالوصول.
  • يجب أن يكون لدى كل من منشئ نقطة النهاية والمعدل الأذونات التالية في كتالوج Unity:
    • USE CATALOG أذونات على الكتالوج المحدد.
    • USE SCHEMA أذونات على المخطط المحدد.
    • CREATE TABLE الأذونات في المخطط.

تمكين جداول الاستدلال عند إنشاء نقطة النهاية باستخدام واجهة برمجة التطبيقات

يمكنك تمكين جداول الاستدلال لنقطة نهاية أثناء إنشاء نقطة النهاية باستخدام واجهة برمجة التطبيقات. للحصول على إرشادات حول إنشاء نقطة نهاية، راجع إنشاء نقاط نهاية خدمة نموذج مخصص.

في واجهة برمجة التطبيقات، يحتوي auto_capture_config نص الطلب على لتحديد:

  • كتالوج كتالوج Unity: سلسلة تمثل الكتالوج لتخزين الجدول
  • مخطط كتالوج Unity: سلسلة تمثل المخطط لتخزين الجدول
  • (اختياري) بادئة الجدول: السلسلة المستخدمة كبادئة لاسم جدول الاستدلال. إذا لم يتم تحديد هذا، يتم استخدام اسم نقطة النهاية.
  • (اختياري) ممكن: القيمة المنطقية المستخدمة لتمكين جداول الاستدلال أو تعطيلها. هذا صحيح بشكل افتراضي.

بعد تحديد كتالوج ومخطط وبادئة جدول اختياريا، يتم إنشاء جدول في <catalog>.<schema>.<table_prefix>_payload. ينشئ هذا الجدول تلقائيا جدولا مدارا في كتالوج Unity. مالك الجدول هو المستخدم الذي يقوم بإنشاء نقطة النهاية.

إشعار

تحديد جدول موجود غير معتمد نظرا لأن جدول الاستدلال يتم إنشاؤه تلقائيا دائما عند إنشاء نقطة النهاية أو تحديثات نقطة النهاية.

تحذير

قد يصبح جدول الاستدلال تالفة إذا قمت بأي مما يلي:

  • تغيير مخطط الجدول.
  • تغيير اسم الجدول.
  • حذف الجدول.
  • فقدان الأذونات إلى كتالوج أو مخطط كتالوج Unity.

في هذه الحالة، auto_capture_config تعرض FAILED حالة نقطة النهاية حالة لجدول الحمولة. إذا حدث ذلك، يجب إنشاء نقطة نهاية جديدة لمتابعة استخدام جداول الاستدلال.

يوضح المثال التالي كيفية تمكين جداول الاستدلال أثناء إنشاء نقطة النهاية.

POST /api/2.0/serving-endpoints

{
  "name": "feed-ads",
  "config":{
    "served_entities": [
      {
       "entity_name": "ads1",
       "entity_version": "1",
       "workload_size": "Small",
       "scale_to_zero_enabled": true
      }
    ],
    "auto_capture_config":{
       "catalog_name": "ml",
       "schema_name": "ads",
       "table_name_prefix": "feed-ads-prod"
    }
  }
}

يبدو الرد كما يلي:

{
  "name": "feed-ads",
  "creator": "customer@example.com",
  "creation_timestamp": 1666829055000,
  "last_updated_timestamp": 1666829055000,
  "state": {
    "ready": "NOT_READY",
    "config_update": "IN_PROGRESS"
  },
  "pending_config": {
    "start_time": 1666718879000,
    "served_entities": [
      {
        "name": "ads1-1",
        "entity_name": "ads1",
        "entity_version": "1",
        "workload_size": "Small",
        "scale_to_zero_enabled": true,
        "state": {
          "deployment": "DEPLOYMENT_CREATING",
          "deployment_state_message": "Creating"
        },
        "creator": "customer@example.com",
        "creation_timestamp": 1666829055000
    }
   ],
   "config_version": 1,
   "traffic_config": {
     "routes": [
       {
         "served_model_name": "ads1-1",
         "traffic_percentage": 100
       }
      ]
   },
   "auto_capture_config": {
     "catalog_name": "ml",
     "schema_name": "ads",
     "table_name_prefix": "feed-ads-prod",
     "state": {
       "payload_table": {
         "name": "feed-ads-prod_payload"
       }
     },
     "enabled": true
   }
  },
  "id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "permission_level": "CAN_MANAGE"
}

بمجرد تمكين تسجيل الدخول إلى جداول الاستدلال، انتظر حتى تصبح نقطة النهاية جاهزة. ثم يمكنك البدء في الاتصال به.

بعد إنشاء جدول استدلال، يجب معالجة تطور المخطط وإضافة البيانات بواسطة النظام.

لا تؤثر العمليات التالية على تكامل الجدول:

  • تشغيل OPTIMIZE و ANALYZE و فراغ مقابل الجدول.
  • حذف البيانات القديمة غير المستخدمة.

إذا لم تحدد auto_capture_config، يتم بشكل افتراضي إعادة استخدام تكوين الإعدادات من إصدار التكوين السابق. على سبيل المثال، إذا تم تمكين جداول الاستدلال بالفعل، يتم استخدام نفس الإعدادات في تحديث نقطة النهاية التالي أو إذا تم تعطيل جداول الاستدلال، فسيستمر تعطيلها.

{
  "served_entities": [
    {
      "name":"current",
      "entity_name":"model-A",
      "entity_version":"1",
      "workload_size":"Small",
      "scale_to_zero_enabled":true
    }
  ],
  "auto_capture_config": {
    "enabled": false
  }
}

تمكين جداول الاستدلال على نقطة نهاية موجودة باستخدام واجهة برمجة التطبيقات

يمكنك أيضا تمكين جداول الاستدلال على نقطة نهاية موجودة باستخدام واجهة برمجة التطبيقات. بعد تمكين جداول الاستدلال، استمر في تحديد نفس auto_capture_config النص الأساسي في استدعاءات واجهة برمجة تطبيقات نقطة نهاية التحديث المستقبلية لمتابعة استخدام جداول الاستدلال.

إشعار

تغيير موقع الجدول بعد تمكين جداول الاستدلال غير معتمد.

PUT /api/2.0/serving-endpoints/{name}/config

{
  "served_entities": [
    {
      "name":"current",
      "entity_name":"model-A",
      "entity_version":"1",
      "workload_size":"Small",
      "scale_to_zero_enabled":true
    },
    {
      "name":"challenger",
      "entity_name":"model-B",
      "entity_version":"1",
      "workload_size":"Small",
      "scale_to_zero_enabled":true
    }
  ],
  "traffic_config":{
    "routes": [
      {
        "served_model_name":"current",
        "traffic_percentage":"50"
      },
      {
        "served_model_name":"challenger",
        "traffic_percentage":"50"
      }
    ]
  },
  "auto_capture_config":{
   "catalog_name": "catalog",
   "schema_name": "schema",
   "table_name_prefix": "my-endpoint"
  }
}

تعطيل جداول الاستدلال

عند تعطيل جداول الاستدلال، لا تحتاج إلى تحديد الكتالوج أو المخطط أو بادئة الجدول. الحقل المطلوب الوحيد هو enabled: false.

POST /api/2.0/serving-endpoints

{
  "name": "feed-ads",
  "config":{
    "served_entities": [
      {
       "entity_name": "ads1",
       "entity_version": "1",
       "workload_size": "Small",
       "scale_to_zero_enabled": true
      }
    ],
    "auto_capture_config":{
       "enabled": false
    }
  }
}

لإعادة تمكين جدول استدلال معطل، اتبع الإرشادات الواردة في تمكين جداول الاستدلال على نقطة نهاية موجودة. يمكنك استخدام الجدول نفسه أو تحديد جدول جديد.

الخطوات التالية

بعد تمكين جداول الاستدلال، يمكنك مراقبة النماذج المقدمة في نقطة نهاية خدمة النموذج الخاص بك باستخدام Databricks Lakehouse Monitoring. للحصول على التفاصيل، راجع سير العمل: مراقبة أداء النموذج باستخدام جداول الاستدلال.