اسحب نقطة الاستعلام وقم بتبديل المقاييس لترى كيف تتغير أقرب الجيران.
يقيس المسافة الخطية بين نقطتين. تُظهر الدوائر المتحدة المركز مناطق متساوية البعد — فجميع النقاط الموجودة على نفس الدائرة «بعيدة» بنفس القدر عن الاستعلام.
المقياس هو مجرد دالة تأخذ متجهين وتُرجع رقمًا واحدًا يوضح مدى تشابههما (أو اختلافهما). البحث المتجهي هو، في جوهره، «العثور على المتجهات K التي تحقق أفضل درجة مقياسية مقابل استعلامي». أما كل ما عدا ذلك — الفهارس، والمجموعات، والرسوم البيانية — فهو مجرد إجراءات مسجلة لتجنب حساب هذه النتيجة مقابل كل متجه في قاعدة البيانات.
يحدد المقياس الذي تختاره معنى كلمة «مشابه» بالنسبة لبياناتك. يمكن أن يكون تضمينان «قريبين» وفقًا لمقياس ما و«بعيدين» وفقًا لمقياس آخر — نفس البيانات، إجابة مختلفة. ولهذا السبب يتم هذا الاختيار قبل أن تقوم بإنشاء أي فهرس على الإطلاق.
جرب ما يلي: اسحب نقطة الاستعلام بالقرب من نقطة الأصل وقم بالتبديل بين «Cosine» و« L2 ». لاحظ كيف أن «Cosine» تهتم فقط بـ«الاتجاه» الذي يشير إليه الاستعلام — فالنقاط الموجودة على الجانب المقابل لنقطة الأصل يمكن أن تكون «قريبة» في حالة « L2 » ولكن «بعيدة» في حالة «Cosine». هذا العرض المرئي هو المفهوم بأكمله.
في « Milvus » (البحث المتسلسل)، يتم تعيين المقياس لكل فهرس عبر « metric_type » — L2، IP، أو COSINE للمتجهات الكثيفة — عند إنشاء الفهرس. ثم يستخدم كل بحث في تلك المجموعة نفس الدالة التي جربتها للتو أعلاه. القاعدة الأكثر موثوقية على الإطلاق: استخدم المقياس الذي تم تدريب نموذج التضمين الخاص بك عليه، وهو مدرج في كل بطاقة نموذج تقريبًا.
اختصاران مفيدان. تنتج معظم واجهات برمجة التطبيقات الحديثة لتضمين النص (OpenAI ، Cohere ، Voyage ومعظم محولات الجمل) متجهات مخصصة لتشابه جيب التمام. وإذا تمت تطبيع متجهاتك إلى طول الوحدة، فإن جيب التمام والحاصل الداخلي يعيدان تصنيفات متطابقة — لذا IP على المتجهات المعيارية هو بديل شائع وأقل تكلفة قليلاً عن COSINE.
استخدم تشابه جيب التمام (metric_type COSINE في Milvus). يتم تدريب جميع نماذج تضمين النص الحديثة تقريبًا — بما في ذلك عائلة text-embedding-3 في OpenAI — على تشابه جيب التمام. نظرًا لأن تضمينات OpenAI يتم تطبيعها إلى طول الوحدة، فإن الحاصل الداخلي (IP) يعطي تصنيفات متطابقة ويُعد بديلاً جيدًا.
يقيس تشابه جيب التمام الزاوية بين متجهين فقط، متجاهلًا أطوالهما. أما الحاصل الداخلي (الحاصل النقطي) فيراعي كلاً من الاتساق والمقدار، لذا يحصل المتجه الأطول الذي يشير إلى نفس الاتجاه على درجة أعلى. وفي حالة المتجهات المعيارية، يكون الاثنان متكافئين رياضيًا.
لا. يتم تضمين المقياس في الفهرس عند وقت الإنشاء. لتبديل المقاييس، قم بإسقاط الفهرس وإعادة بنائه باستخدام نوع مقياس جديد (metric_type). كما أن النتائج المستمدة من المقاييس المختلفة غير قابلة للمقارنة فيما بينها، لذا تجنب خلطها عند معالجة النتائج لاحقًا.
السرعة متطابقة بشكل أساسي — حيث تستهلك كل من دالة التباين ( L2) ودالة التباين المعياري ( IP) وجيب التمام (cosine) مرورًا واحدًا على المتجه. الاسترجاع هو ما يهم: فالبحث باستخدام مقياس مختلف عن ذلك الذي تم تدريب نموذج التضمين الخاص بك عليه يؤدي إلى تدهور جودة النتائج بشكل خفي، وغالبًا ما يكون ذلك بشكل كبير.
لمزيد من التفاصيل: اقرأ وثائق «مقاييس التشابه» (Similarity Metrics ) للاطلاع على القائمة الكاملة للمقاييس التي يدعمها Milvus ، بما في ذلك «هامينغ» (Hamming) و«جاكارد» (Jaccard) للمتجهات الثنائية و«BM25» للبحث عن النص الكامل.
مقارنة جنبًا إلى جنب بين البحث بالقوة الغاشمة والبحث المجمَّع. قم بضبط « nprobe » في الوقت الفعلي.
شاهد البحث في الرسم البياني متعدد الطبقات خطوة بخطوة — بدءًا من القفزات السريعة وصولًا إلى التنقلات المحلية.
انظر كيف يتيح لك PQ-in-RAM + full-vectors-on-SSD البحث في مجموعات بيانات بمليارات السجلات على جهاز كمبيوتر محمول.