تخطّ إلى المحتوى
AISI
𝕏
دليل إرشادي

إعداد Qdrant للإنتاج: collections، snapshots، authentication، monitoring

دليل عملي لإعداد Qdrant production-ready على Coolify: إنشاء collections مع HNSW، payload indexing، authentication، snapshots للنسخ الاحتياطي، monitoring بـ Prometheus.

6 دقائق قراءة AIInfrastructure

أهمية نقل Qdrant إلى بيئة الإنتاج

قاعدة البيانات الاتجاهية Qdrant تعمل خارج الصندوق لتجارب الذكاء الاصطناعي البسيطة. لكن عندما يتعلق الأمر بنظام إنتاجي حقيقي يخدم ملايين المتجهات للمؤسسات (مثل الأرشيفات البحثية أو أنظمة التوصية)، فإن الإعداد الافتراضي لا يكفي. ستحتاج إلى تأمين النظام، تحسين سرعة الاستعلامات، إعداد النسخ الاحتياطي، ومراقبة الأداء. هذا الدليل يشرح كيفية بناء بيئة Production-ready لـ Qdrant مستضاف عبر منصة Coolify.

الخطوة 1: التثبيت وتفعيل المصادقة (Authentication)

أكبر خطأ للمبتدئين هو ترك واجهة قاعدة البيانات مفتوحة للإنترنت. بعد إعداد Qdrant كـ Service في Coolify، يجب عليك فوراً إعداد مفتاح واجهة برمجة التطبيقات (API Key).

  • انتقل لمتغيرات البيئة (Environment Variables) في إعدادات Qdrant بـ Coolify.
  • أضف المتغير: QDRANT__SERVICE__API_KEY وقم بتعيين كلمة مرور قوية جداً له.
  • أعد تشغيل الحاوية. الآن، كل طلب لـ Qdrant (سواء عبر Python أو cURL) يجب أن يتضمن ترويسة (Header) تحتوي على مفتاحك.

الخطوة 2: إنشاء الـ Collections وتحسين الأداء (HNSW & Payload Indexing)

المجموعة (Collection) في Qdrant تعادل الجداول في قواعد البيانات التقليدية. عند الإنشاء، حدد حجم المتجه (Vector Size) المطابق لنموذج التضمين الخاص بك (مثلاً 1024 لنموذج bge-m3).

لضمان سرعة فائقة في استرجاع البيانات (حتى لو كانت مليون متجه):

  • تقنية HNSW: تعتمد Qdrant عليها بشكل افتراضي، وهي خوارزمية بحث تقريبية سريعة.
  • فهرسة الحمولة (Payload Indexing): إذا كنت تخزن بيانات وصفية مع المتجه (مثل سنة النشر، أو اسم المؤلف)، وتريد تصفية النتائج بناءً عليها (Filter)، يجب عليك إبلاغ Qdrant بإنشاء فهرس (Index) لهذه الحقول لتجنب البطء.


curl -X PUT 'https://qdrant.example.org/collections/archive/index'
-H 'api-key: YOUR_KEY'
-d '{"field_name":"year", "field_schema":"integer"}'

الخطوة 3: إدارة الذاكرة وتخفيضها (Quantization)

عندما تتجاوز متجهاتك مئات الآلاف، ستبدأ باستهلاك مساحة هائلة من ذاكرة الوصول العشوائي (RAM). يوفر Qdrant ميزة الضغط الرقمي (Quantization)، والتي تتيح تحويل أرقام الفاصلة العائمة (Float) إلى أعداد صحيحة (INT8). هذه الخطوة تقلل استهلاك الذاكرة إلى الربع (4x) دون أن تؤثر على دقة نتائج البحث بشكل ملحوظ.

الخطوة 4: النسخ الاحتياطي (Snapshots)

البيانات الاتجاهية هي نتاج عمليات حسابية مكلفة (Embeddings)، وفقدانها يعتبر كارثة. يدعم Qdrant أخذ لقطات (Snapshots) لقاعدة البيانات بالكامل وحفظها كملف واحد. لأتمتة ذلك، يمكنك استخدام أداة (مثل n8n أو سكربت مبرمج) لطلب Snapshot يومي عبر الـ API، ثم رفعه مباشرة إلى سحابة خارجية (مثل AWS S3 أو MinIO) ليكون آمناً ومشفراً.

الخطوة 5: المراقبة المستمرة (Monitoring بـ Prometheus)

لا تنتظر توقف النظام لتعرف أن هناك مشكلة. Qdrant يوفر نقاط نهاية للمراقبة (Metrics Endpoint). يمكنك دمج Qdrant مع Prometheus و Grafana لقراءة هذه المؤشرات. أهم المؤشرات التي يجب مراقبتها:

  • استهلاك الذاكرة: متى تقترب من الحد الأقصى للخادم؟
  • مدة استجابة الطلبات: لضمان سرعة النظام (rest_responses_duration_seconds).
  • عدد المتجهات: لتعرف متى ستحتاج لترقية عتاد الخادم (collection_vectors_count).

الخلاصة

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