افتح هذه الأداة وابدأ التجربة الآن
https://qdrant.tech/Qdrant: دليلك الشامل لقاعدة بيانات المتجهات مفتوحة المصدر
مقدمة
Qdrant هي قاعدة بيانات متخصّصة في البحث بالشبهية على المتجهات (Vector Similarity Search)، تقدّم مزيجاً عملياً بين الأداء العالي ومرونة التكامل مع أنظمة التعلم الآلي. بفضل بنيتها المبنية بلغة Rust، تُعدّ Qdrant أداة فعّالة لبناء تطبيقات البحث الدلالي، واسترجاع المستندات، وتوصية المحتوى — دون الحاجة إلى بناء بنية تحتية من الصفر.
ما هي Qdrant؟
Qdrant (اختصاراً: Qdrant) هي نظام إدارة قواعد بيانات للمتجهات (Vector Database) مفتوح المصدر، مبني بلغة Rust، وموجّه للتعامل مع متجهات التضمين (Embeddings) الناتجة عن نماذج التعلم العميق.
تعبت من التنقل بين عشرة تبويبات؟ ToolSuite يجمع أدوات الذكاء الاصطناعي التي يعتمد عليها المحترفون في مكان واحد.
جرّب ToolSuite الآنتشمل الوظائف الأساسية تخزين المتجهات، وإجراء بحث تقريبي عن الجوار الأقرب (ANN) باستخدام خوارزمية HNSW، ودعم عوامل التصفية عبر بيانات الميتا (Payload Filtering)، إضافة إلى البحث الهجين الذي يجمع بين التشابه المتجهي والفلترة الحقلية.
تقنياً، تعتمد Qdrant على مفاهيم أساسية:
- Collection: حاوية منطقية لتخزين المتجهات.
- Point: نقطة بيانات تحتوي على متجه (Vector) مع بيانات وصفية (Payload).
- Index: هيكل HNSW المستخدم لتسريع عمليات البحث.
تتوفر واجهات الوصول عبر REST و gRPC، مع مكتبات عملاء رسمية لـ Python و JavaScript/TypeScript و Rust و Go. كما يتوفر إصدار مُدار سحابياً باسم Qdrant Cloud.
الميزات الرئيسية
بحث ANN باستخدام HNSW
تعتمد Qdrant على خوارزمية HNSW (Hierarchical Navigable Small World) كإعداد افتراضي للبحث التقريبي عن الجيران الأقرب. يمكن تعديل معاملات مثل M و efConstruction للتحكم في التوازن بين زمن بناء الفهرس وجودة النتائج وأداء البحث.
تصفية البيانات الوصفية (Payload Filtering)
تتيح Qdrant تخزين بيانات وصفية (Payload) قابلة للفهرسة على كل نقطة، واستخدام شروط فلترة مركبة (AND/OR، نطاقات رقمية، قيم نصية) لتقييد فضاء البحث قبل حساب التشابه المتجهي — مما يحسّن الدقة والأداء في السيناريوهات العملية.
البحث الهجين (Hybrid Search)
الجمع بين نتائج التشابه المتجهي ومقاييس تقليدية أو قيم عددية (مثل درجات أو أوزان) يسمح بنتائج أكثر ملاءمة تجارياً. تدعم Qdrant خلط القيم لتهيئة ترتيب النتائج بناءً على قواعد مخصصة.
الضغط والكمّية (Quantization)
توفر Qdrant تقنيات مثل Scalar Quantification لتقليل حجم المتجهات في الذاكرة، مع تأثير مقبول جداً على دقة البحث — مما يجعلها مثالية للبيئات ذات الموارد المحدودة.
عمليات فورية (Upserts & Deletes)
تسمح Qdrant بإضافة وتحديث وحذف نقاط البيانات في وقت التشغيل دون الحاجة إلى إعادة بناء الفهرس بالكامل، مما يجعلها مناسبة لتطبيقات ذات بيانات متغيرة باستمرار.
النسخ الاحتياطي واللقطات (Snapshots)
تدعم Qdrant أخذ لقطات (Snapshots) فورية لاستعادة البيانات ونقلها بين بيئات الإنتاج والتجربة بسهولة.
لوحة الإدارة والمراقبة
في إصدار Qdrant Cloud، تتوفر لوحة تحكم شاملة لمراقبة الأداء، وإدارة مفاتيح API، وتكوينات الحجوم والعُقَد.
توافق واسع مع أدوات التعلم الآلي
تتكامل Qdrant بسلاسة مع منصات توليد التضمين مثل OpenAI و Hugging Face و SentenceTransformers عبر تدفق العمل القياسي: توليد متجهات ← إدخالها في Qdrant ← إجراء البحث.
دليل عملي: كيفية استخدام Qdrant خطوة بخطوة
الخيار الأول: تشغيل محلي سريع باستخدام Docker
- تثبيت Docker وفتح سطر الأوامر.
- تشغيل الحاوية الرسمية:
docker run -p 6333:6333 qdrant/qdrant:latestهذا الأمر يُشغّل خدمة Qdrant على المنفذ 6333 عبر http://localhost:6333. - إنشاء مجموعة (Collection) عبر REST:
curl -X PUT "http://localhost:6333/collections/my_collection" -H "Content-Type: application/json" -d '{"vectors":{"size":768,"distance":"Cosine"}}'يحدد هذا الأمر أن كل متجه طوله 768 بُعداً وأن معيار المسافة هو Cosine. - رفع نقاط (Upsert) مع بيانات وصفية:
curl -X PUT "http://localhost:6333/collections/my_collection/points" -H "Content-Type: application/json" -d '{ "points": [ {"id": 1, "vector": [0.1, 0.2, ..., 0.3], "payload": {"title":"وثيقة A", "lang":"ar"}}, {"id": 2, "vector": [0.05, 0.9, ..., 0.11], "payload": {"title":"وثيقة B", "lang":"en"}} ] }'استبدل المتجهات الوهمية بمتجهات حقيقية ناتجة عن نموذج التضمين الخاص بك.


التعليقات
0لا توجد اي تعلقات بعد.
يرجى تسجيل الدخول للتعليق
التعليقات متاحة للأعضاء فقط. سجّل الدخول للمشاركة في النقاش، أو أنشئ حساباً جديداً مجاناً.