Ultralytics YOLO27:

المراقبة#

منصة Ultralytics توفر مراقبة لنقاط النهاية المنشرة. تتبع طلبات نقطة النهاية، وزمن الانتقال، والأخطاء، والسجلات. توفر نقاط النهاية المخصصة المدفوعة أيضاً إحصائيات التنبؤ المباشر وأمثلة مؤقتة يمكنك فحصها وحفظها في مجموعات البيانات.

بطاقات نظرة عامة وخريطة العالم في صفحة النشر بمنصة Ultralytics

لوحة معلومات عمليات النشر#

تعمل صفحة Deploy في الشريط الجانبي كلوحة معلومات للمراقبة لجميع عمليات النشر لديك. وهي تجمع خريطة العالم ومقاييس النظرة العامة وإدارة عمليات النشر في عرض واحد. راجع نقاط النهاية المخصصة لإنشاء عمليات النشر وإدارتها.

graph TB
    subgraph Dashboard
        Map[World Map]:::proc --- Cards[Overview Cards]:::proc
        Cards --- List[Deployments List]:::decide
    end
    subgraph "Per Ready Deployment"
        Monitoring[Monitoring Tab: Paid Endpoints]:::out
        Metrics[Metrics Row]:::out
        Health[Health Check]:::out
        Logs[Logs Tab]:::out
        Code[Code Tab]:::out
        Predict[Predict Tab]:::out
    end
    List --> Monitoring
    List --> Metrics
    List --> Health
    List --> Logs
    List --> Code
    List --> Predict

    classDef proc fill:#2196F3,color:#fff
    classDef decide fill:#FF9800,color:#fff
    classDef out fill:#9C27B0,color:#fff

بطاقات النظرة العامة#

تعرض أربع بطاقات تلخيصية في أعلى الصفحة ما يلي:

بطاقات النظرة العامة الأربع في صفحة النشر بمنصة Ultralytics

المقياسالوصف
طلبات HTTP (خلال 24 ساعة)طلبات HTTP عبر نقاط النهاية، بما في ذلك طلبات التنبؤ، والمراقبة، والصحة
عمليات النشر النشطةنقاط النهاية الموجودة حاليًا في حالة جاهز
معدل أخطاء HTTP (خلال 24 ساعة)نسبة الاستجابات التي تحمل حالة 4xx أو 5xx، موزونة بحسب حجم الطلبات
زمن الانتقال P95 لـ HTTP (خلال 24 ساعة)متوسط أزمنة الاستجابة عند النسبة المئوية الخامسة والتسعين لكل ساعة، موزونًا بحسب الحجم

يُبلغ عن زمن استجابة P95 بدلًا من زمن الاستجابة الوسيط، لأن فحوصات السلامة تستغرق بضعة أجزاء من الألف من الثانية، وإلا فستهيمن على الصورة المتعلقة بزمن الاستجابة الحقيقي للاستدلال.

تنبيه معدل الأخطاء

تُبرز بطاقة معدل الأخطاء باللون الأحمر عندما يتجاوز المعدل 5%. تحقّق من علامة التبويب Logs في عمليات النشر الفردية لتشخيص الأخطاء.

خريطة العالم#

تعرض خريطة العالم التفاعلية ما يلي:

  • دبابيس المناطق لجميع المناطق المتاحة وعددها 42
  • دبابيس خضراء للمناطق التي تضم عملية نشر جاهزة
  • دبابيس زرقاء متحركة للمناطق التي تتقدم فيها عمليات نشر نشطة
  • يختلف حجم الدبوس استنادًا إلى حالة النشر وزمن الاستجابة

انقر على أي منطقة لفتح مربع الحوار New Deployment. تُخفى الخريطة على الشاشات الصغيرة.

خريطة العالم في صفحة النشر بمنصة Ultralytics مع المناطق المنشورة

قائمة عمليات النشر#

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

العرضالوصف
البطاقاتبطاقات تفاصيل كاملة تتضمن المقاييس، والسجلات، والتعليمات البرمجية، والتنبؤ، وعلامات تبويب المراقبة المؤهلة
مضغوطشبكة من البطاقات الأصغر (من عمود إلى أربعة أعمدة) تتضمن المقاييس الرئيسية
جدولجدول بيانات بأعمدة قابلة للفرز: الاسم، المنطقة، الحالة، الطلبات، P95، الأخطاء
التحديثات في الوقت الفعلي

يُحدّث لوحة المعلومات تلقائيًا، وبوتيرة أسرع أثناء وجود عمليات النشر في حالة انتقالية (creating أو deploying أو stopping). انقر على زر التحديث للحصول على تحديثات فورية.

المقاييس لكل عملية نشر#

تعرض كل بطاقة نشر (في عرض البطاقات) مقاييس في الوقت الفعلي. ولا يظهر صف المقاييس وفحص السلامة وعلامات التبويب Logs وCode وPredict الموضحة أدناه إلا أثناء وجود عملية النشر في حالة جاهز:

صف المقاييس#

المقياسالوصف
الطلباتعدد الطلبات خلال آخر 24 ساعة
زمن استجابة P95متوسط أزمنة الاستجابة عند النسبة المئوية الخامسة والتسعين لكل ساعة (24 ساعة)
معدل الأخطاءنسبة استجابات 4xx و5xx، ولا تُعرض إلا عندما تكون أكبر من 0

تُحدّث المقاييس تلقائيًا. وتعرض نقاط النهاية التي لم تخدم أي طلب بعد العبارة "لا توجد حركة مرور بعد"، ولا تُجمع المقاييس إلا لعمليات النشر الموجودة في حالة جاهز. وفي لوحة معلومات عمليات النشر، تُجلب المقاييس لأحدث 20 عملية نشر.

فحص الحالة#

تعرض عمليات النشر قيد التشغيل مؤشرًا لفحص السلامة:

المؤشرالمعنى
قلب أخضرسليم — يعرض زمن الاستجابة
قلب أحمرغير سليم — يعرض رسالة الخطأ
أيقونة دوّارةفحص السلامة قيد التنفيذ

تُعيد فحوصات السلامة المحاولة تلقائيًا أثناء عدم السلامة، وتتوقف بمجرد استجابة نقطة النهاية. انقر على أيقونة التحديث لتشغيل فحص السلامة يدويًا، وهو ما يعمل أيضًا على تهيئة نقطة النهاية التي جرى تحجيمها إلى الصفر قبل إرسال حركة المرور.

بطاقة نشر بمنصة Ultralytics لفحص سلامة ناجح مع زمن الاستجابة

تحمّل بدء التشغيل البارد

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

علامة تبويب المراقبة#

افتح النشر (Deploy)، وانتقل إلى عرض البطاقات (Cards)، وحدد المراقبة (Monitoring) على نقطة نهاية مخصصة مدفوعة وجاهزة (Ready). أرسل صورة عبر علامة تبويب التنبؤ (Predict) الخاصة بها أو واجهة برمجة تطبيقات نقطة النهاية لملء الأمثلة المؤقتة (Temporary Examples) وإحصائيات التنبؤ (Prediction Statistics). قبل معالجة الصورة الأولى، تعرض علامة التبويب لم يتم معالجة أي صور.

أهلية نقطة النهاية

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

Ultralytics Platform Deployment Monitoring Temporary Examples And Statistics

البيانات المؤقتة

المراقبة خفيفة الوزن ومؤقتة: تعيش المخططات، وإحصائيات التنبؤ، وصور الأمثلة فقط في ذاكرة مثيل التقديم. يمكن فقدانها عندما يتم إيقاف نقطة النهاية، أو توقفها، أو إعادة تشغيلها، أو إعادة نشرها، أو تغيير مواردها، أو استبدال نموذجها. لا يتم استعادة السجل عند إعادة تشغيل نقطة النهاية. احفظ الأمثلة المفيدة في مجموعة بيانات وانتظر حتى يكتمل الاستيعاب قبل تغيير نقطة النهاية.

الأمثلة المؤقتة#

يحتوي المعرض على عينة متجددة من الصور المعالجة مع تراكبات التنبؤ. افتح صورة لفحص تنبؤاتها في عارض ملء الشاشة واستخدم عناصر تحكم الرؤية لتعديل التراكبات. يعرض المعرض في البداية ما يصل إلى 12 مثالاً؛ ويقوم خيار عرض الكل بتوسيع المعرض.

  • أخذ العينات: ما يصل إلى مثالين في البداية، ثم ما يصل إلى صورة إضافية واحدة في الدقيقة. الالتقاط هو جهد أقصى؛ ولا ينتظر الاستدلال ترميز الأمثلة.
  • السعة: ما لا يزيد عن 100 صورة ضمن ميزانية ذاكرة مشتركة تبلغ 100 ميغابايت للصور المضغوطة، والبيانات الوصفية للتنبؤ، والأصول المرتبطة. تسمي واجهة الاستخدام هذه الميزانية 100 ميغابايت.
  • الاستبدال: يتم استبدال الأمثلة الأقدم عند الوصول إلى أي من الحدين. قد تصبح الأمثلة غير متوفرة أثناء عرضها.
  • التخزين: تبقى الأمثلة المؤقتة في ذاكرة نقطة النهاية. يؤدي حفظها في مجموعة بيانات إلى استخدام حدود التخزين والمعالجة العادية لمساحة العمل.

Ultralytics Platform Deployment Monitoring Prediction Viewer

حفظ الأمثلة في مجموعة بيانات#

يمكن لأعضاء مساحة العمل الذين يمتلكون إذن تحرير المحتوى حفظ الأمثلة في مجموعة بيانات ضمن مساحة عمل نقطة النهاية:

  1. حدد الأمثلة الفردية باستخدام مربعات الاختيار الخاصة بها، أو انقر فوق تحديد الكل.
  2. انقر فوق حفظ في مجموعة البيانات.
  3. اختر مجموعة بيانات موجودة لها نفس المهمة الخاصة بالنموذج المنشور. يتم استبعاد مجموعات البيانات ذات المصدر المتصل؛ أنشئ مجموعة بيانات متوافقة أولاً إذا لم تكن أي منها متوفرة.
  4. انقر فوق زر الحفظ، الذي يُظهر عدد الصور المحددة، ثم افتح مجموعة البيانات لمتابعة المعالجة.

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

Ultralytics Platform Deployment Monitoring Save Examples To Dataset

لإزالة الأمثلة المؤقتة، استخدم عنصر تحكم سلة المهملات الذي يظهر عند تحويم الماوس فوق الصورة أو حدد الأمثلة وانقر فوق زر سلة المهملات المجمعة، ثم أكد الحذف. لا يؤدي حذف الأمثلة إلى تغيير إحصائيات التنبؤ الإجمالية وال이미ജات التي تم حفظها مسبقاً في مجموعات البيانات.

إحصائيات التنبؤ#

تجمع الإحصائيات الصور المعالجة بشكل مستقل عن أخذ عينات المعرض. لا يؤدي حذف مثال أو استبداله إلى طرح مساهمته. يعرض الملخص الصور، والتنبؤات، وال이미ജات بدون تنبؤات للفترة المحددة؛ وتظهر نماذج العمق تعداد الصور.

يستند محدد التاريخ افتراضياً إلى آخر 30 يوماً ويقبل نطاقات تصل إلى 365 يوماً. تستخدم التواريخ المحددة حدود التوقيت العالمي المنسق (UTC)؛ وتُعرض الطوابع الزمنية للمخططات بالتوقيت المحلي. تستخدم النطاقات الحديثة التي تصل إلى ثلاثة أيام السجل الساعي عندما يقع النطاق الكامل ضمن آخر 72 ساعة؛ وتستخدم النطاقات الأخرى السجل اليومي. يقوم نطاق التاريخ بتصفية الإحصائيات، بينما يستمر المعرض في عرض الأمثلة المؤقتة الحالية.

يتم تقييد السجل بـ 72 مجموعة ساعية و365 مجموعة يومية، وهو متوفر فقط منذ بدء تشغيل المثيل الحالي. تعرض الفترة المحددة التي لا تحتوي على صور معالجة رسالة لم يتم معالجة أي صور في هذه الفترة.

تعتمد المخططات المتوفرة على المهمة والتنبؤات المجمعة:

المخططما يعرضه
التنبؤات بمرور الوقتإجمالي الصور المعالجة والتنبؤات؛ وتعرض نماذج العمق الصور بمرور الوقت
وقت الاستدلالمتوسط وقت استدلال النموذج بالمللي ثانية، باستثناء شبكة الاتصال والنفقات العامة للطلبات
أهم الفئاتتعداد التنبؤات حسب الفئة
التنبؤات لكل صورةالتوزيع بما في ذلك الصور التي لا تحتوي على تنبؤات وفئة أخيرة لـ 100+؛ ويتم إخفاؤه لمهام التصنيف والعمق
ثقة التنبؤتوزيع الثقة والمتوسط، عندما تكون درجات الثقة متوفرة
الثقة بمرور الوقتمتوسط ثقة التنبؤ لكل فترة زمنيّة
أبعاد التنبؤعرض وارتفاع التنبؤ بالنسبة للصورة المدخلة، عندما تكون أبعاد الصناديق متوفرة
مواقع التنبؤخريطة حرارية مكانية للتنبؤات، عندما تكون بيانات الموقع متوفرة

Ultralytics Platform Deployment Monitoring Prediction Statistics

Ultralytics Platform Deployment Monitoring Confidence And Spatial Statistics

تفسير الإحصائيات

تقيس الثقة يقين النموذج، وليس صحته. افحص الأمثلة وقارنها بالتسميات المراجعة عند تقييم الدقة. يقيس وقت الاستدلال تنفيذ النموذج؛ ويتضمن زمن الانتقال P95 الخاص بالنشر معالجة الطلبات ويمكن أن يعكس أيضاً حركة المرور غير المتعلقة بالاستدلال مثل فحوصات الصحة.

تتحدث المراقبة كل ثانيتين تقريباً أثناء فتح لوحة التحكم الخاصة بها وكونها مرئية. يتوقف الاستطلاع مؤقتاً عندما تكون لوحة التحكم خارج الشاشة أو عندما تكون علامة تبويب المتصفح مخفية. يؤدي الاستدلال الناجح عبر علامة تبويب التنبؤ (Predict) الخاصة بالنشر إلى تشغيل تحديث الإحصائيات أيضاً.

السجلات#

تتضمن كل بطاقة نشر علامة تبويب Logs لعرض أحدث إدخالات السجل:

علامة تبويب سجلات بطاقة النشر بمنصة Ultralytics مع عامل تصفية مستوى الخطورة

إدخالات السجل#

يعرض كل إدخال في السجل ما يلي:

الحقلالوصف
الخطورةشريط ملوّن وفقًا للفئة (انظر أدناه)
الطابع الزمنيوقت الطلب (بالتنسيق المحلي)
الرسالةمحتوى السجل
معلومات HTTPرمز الحالة وزمن الاستجابة (إن أمكن)

يحمل كل إدخال شريط خطورة ملوّنًا وفقًا للفئة:

المستوىاللونالوصف
DEBUGرماديرسائل تصحيح الأخطاء
INFOأزرقالطلبات العادية
WARNINGكهرمانيمشكلات غير حرجة
ERRORأحمرالطلبات الفاشلة
CRITICALأحمرأعطال حرجة

تقبل API المجموعة الكاملة من مستويات خطورة السجل كعامل تصفية مفصول بفواصل: DEBUG وINFO وNOTICE وWARNING وERROR وCRITICAL وALERT وEMERGENCY.

تعرض واجهة المستخدم أحدث 20 إدخالًا وتخفي الإدخالات الفارغة. وتستخدم API افتراضيًا 50 إدخالًا لكل طلب (بحد أقصى 200)، وتُرجع nextPageToken للترحيل إلى إدخالات أقدم.

سير عمل تصحيح الأخطاء

عند التحقيق في الأخطاء: انقر أولًا على Errors لتصفية الإدخالات إلى ERROR وWARNING، ثم راجع الطوابع الزمنية ورموز حالة HTTP. انسخ السجلات إلى الحافظة لمشاركتها مع فريقك.

أمثلة التعليمات البرمجية#

تتضمن كل بطاقة نشر علامة تبويب Code تعرض تعليمات برمجية لواجهة API جاهزة للاستخدام، مع تعبئة عنوان URL لنقطة النهاية. وبالنسبة إلى مالكي مساحة العمل، يُدرج مفتاح API المرتبط بالنشر، ويكون جاهزًا للنسخ والتشغيل. أما غير المالكين، فتظهر لهم قيمة نائبة YOUR_API_KEY:

import requests

# Deployment endpoint
url = "https://YOUR_DEPLOYMENT_URL.run.app/predict"

# Headers with your deployment API key
headers = {"Authorization": "Bearer YOUR_API_KEY"}

# Inference parameters
data = {"conf": 0.25, "iou": 0.7, "imgsz": 640}

# Send image for inference
with open("image.jpg", "rb") as f:
    response = requests.post(url, headers=headers, data=data, files={"file": f})

print(response.json())
بيانات الاعتماد المُعبّأة تلقائيًا

عند عرض علامة التبويب Code في المنصة، يُعبّأ عنوان URL لنقطة النهاية، وبالنسبة إلى مالكي مساحة العمل، مفتاح API المرتبط بالنشر تلقائيًا. راجع مفاتيح API لإنشاء مفتاح.

التنبؤ عبر النشر#

توفر علامة التبويب Predict في كل بطاقة نشر لوحة تنبؤ مضمنة — وهي الواجهة نفسها الموجودة في علامة التبويب Predict للنموذج، لكنها تُجري الاستدلال عبر نقطة نهاية النشر بدلًا من الخدمة المشتركة. يفيد ذلك في اختبار نقطة نهاية منشورة مباشرةً من المتصفح. راجع الاستدلال لمعرفة تفاصيل المعلمات وتنسيقات الاستجابة.

نقاط نهاية API#

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

مقاييس النشر#

GET /api/deployments/{owner}/{deployment}/metrics?range=24h

Python SDK: client.deployments.metrics(owner, deployment, range="24h")

يعيد حمولة المقاييس الكاملة للنشر: كتلة summary التي تتضمن إجمالي الطلبات، وعدد الأخطاء ومعدلها، ومتوسط زمن الاستجابة وP50 وP95 وP99، بالإضافة إلى مصفوفات timeSeries للطلبات والأخطاء وزمن استجابة P50 وP95 واستخدام CPU والذاكرة وعدد المثيلات.

المعلمةالنوعالوصف
rangestringالنطاق الزمني: 1h أو 6h أو 24h أو 7d أو 30d (الافتراضي 24h)
sparklineboolإعادة ملخص لوحة المعلومات الموجز بدلًا من الحمولة الكاملة

مع sparkline=true، تكون الاستجابة بالشكل الموجز الذي تستخدمه بطاقات النشر — أعداد الطلبات لكل ساعة على مدار 24 ساعة، بالإضافة إلى إجمالي الطلبات ومعدل الأخطاء ومتوسط زمن الاستجابة. هذا هو الاستدعاء الذي يُحدّث كل 60 ثانية.

سجلات النشر#

GET /api/deployments/{owner}/{deployment}/logs?limit=50&severity=ERROR,WARNING

Python SDK: client.deployments.logs(owner, deployment, limit=50, severity="ERROR,WARNING")

يعيد إدخالات السجل الحديثة مع مرشح اختياري لدرجة الخطورة وترقيم الصفحات.

المعلمةالنوعالوصف
limitintالحد الأقصى للإدخالات المراد إعادتها (الافتراضي: 50، والحد الأقصى: 200)
severitystringمرشح لدرجة الخطورة مفصولة قيمه بفواصل
pageTokenstringرمز ترقيم الصفحات من الاستجابة السابقة

سلامة النشر#

GET /api/deployments/{owner}/{deployment}/health

Python SDK: client.deployments.health(owner, deployment)

يرسل طلب اختبار إلى النشر ويعيد حالة سلامته مع زمن الاستجابة ذهابًا وإيابًا المقاس:

{
    "healthy": true,
    "status": 200,
    "latencyMs": 142
}

تحذف الاستجابة غير السليمة status عندما يتعذر الوصول إلى نقطة النهاية على الإطلاق، وتضيف رسالة error.

نظرة عامة على لوحة المعلومات

الأرقام المجمعة في صفحة Deploy غير متاحة عبر نقطة نهاية REST واحدة. أعد إنتاجها باستدعاء مسار المقاييس لكل نشر تعيده GET /api/deployments/{owner} (client.deployments.list(owner)).

تحسين الأداء#

استخدم بيانات المراقبة لتحسين عمليات النشر:

إذا كان زمن الاستجابة مرتفعًا جدًا:

  1. تحقق من ملاءمة حجم النموذج
  2. فكّر في استخدام منطقة أقرب
  3. تحقق من حجم الصورة المُرسلة مع كل طلب
تقليل زمن الاستجابة

جرّب قيمة imgsz أصغر وقارن زمن الاستجابة والدقة الناتجين لنموذجك. انشر في منطقة أقرب إلى مُرسلي الطلبات لتقليل زمن استجابة الشبكة.

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

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

    المقاييس التشغيلية والسجلات لها نوافذ سجل منفصلة. تدعم واجهة برمجة تطبيقات المقاييس النوافذ القابلة للتحديد من ساعة واحدة حتى 30 يوماً، ويتم أخذ عينات منها بشكل أكثر خشونة كلما اتسعت النافذة — مجموعات مدتها دقيقة واحدة على مدار ساعة واحدة وصولاً إلى مجموعات مدتها 4 ساعات على مدار 30 يوماً. تعرض بطاقة النشر أحدث 20 إدخال سجل؛ ويمكن لواجهة برمجة تطبيقات السجلات إرجاع ما يصل إلى 200 إدخال لكل طلب وتدعم التصفح الصفحي.

    يُحتفظ بالمقاييس والسجلات فقط ما دام النشر موجودًا، لذا يؤدي حذف النشر أيضًا إلى إنهاء الوصول إلى سجله التاريخي. صدّر كل ما تحتاج إلى الاحتفاظ به قبل حذف نقطة النهاية.

  • نعم، تعرض صفحة عمليات النشر جميع نقاط النهاية في بطاقات نظرة عامة مجمعة. استخدم عرض الجدول لمقارنة الأداء بين عمليات النشر.

  • لا. تُجمع المقاييس وفحوصات السلامة فقط لعمليات النشر الموجودة في حالة Ready. تحتفظ نقطة النهاية المتوقفة ببطاقتها ونافذة سجلها، لكنها لا تعرض أرقامًا مباشرة حتى تعيد تشغيلها.

التعليقات