التشابه الكوني للاسترجاع
يقيس التشابه الكوني الزاوية بين متجهين، وهو مقياس المسافة القياسي للبحث الدلالي.
التشابه الكوني للاسترجاع درس مجاني في AI Agents على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AI Agents، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AI Agents 4 دروس في المجموع.
بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.
قياس التشابه
ما مدى تقارب متجهين؟ ثلاثة مقاييس شائعة للمسافة:
- التشابه الجيبي — الزاوية بين المتجهات
- حاصل الضرب النقطي — الإسقاط
- المسافة الإقليدية (L2) — المسافة في خط مستقيم
بالنسبة إلى تضمينات النص، يكون التشابه الجيبي هو الخيار الافتراضي.
صيغة التشابه الجيبي
بالنسبة إلى المتجهين A وB:
cos(A, B) = (A . B) / (|A| * |B|)
تتراوح النتيجة بين -1 و1:
- 1 = الاتجاه متطابق
- 0 = متعامدان (غير مرتبطين)
- -1 = متعاكسان
باستخدام Python وNumPy
تنفيذ مباشر:
import numpy as np
def cosine_similarity(a, b):
a = np.array(a)
b = np.array(b)
return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))
print(cosine_similarity(vec_apple, vec_orange)) # high
print(cosine_similarity(vec_apple, vec_car)) # lowالمتجهات المُطبَّعة مسبقًا
إذا كانت التضمينات لديكم مُطبَّعة بالفعل (ومتجهات OpenAI كذلك)، فإن cosine يساوي الضرب النقطي، ويمكنكم تخطّي عملية القسمة:
def cosine_normalized(a, b):
return np.dot(a, b) # fasterاسترجاع Top-K
للعثور على المستندات K الأكثر تشابهًا مع استعلام، احسبوا التشابه مع كل مستند ثم رتّبوها:
def topk(query_vec, doc_vecs, k=5):
scores = [(np.dot(query_vec, v), i) for i, v in enumerate(doc_vecs)]
scores.sort(reverse=True)
return scores[:k]التوسّع
الطريقة الساذجة لاسترجاع Top-K تكلفتها O(N) لكل استعلام — وهي مناسبة لـ 10k مستند، لكنها بطيئة عند 10M مستند. بالنسبة إلى المجموعات الكبيرة، استخدموا فهارس أقرب جار تقريبي (ANN)، مثل: HNSW وIVF وFAISS.
لماذا لا نستخدم المسافة الإقليدية؟
تتعامل مسافة L2 مع طول المتجه باعتباره ذا معنى. أما في التضمينات، فالاتجاه أهم من المقدار — ولهذا يتفوّق cosine.
(بالنسبة إلى المتجهات المُطبَّعة، تعطي L2 وcosine الترتيب نفسه، ولذلك لا يهم أيّهما تستخدمون.)
الضرب النقطي مقابل cosine
إذا كانت المتجهات مُطبَّعة بالفعل، فإن الضرب النقطي = cosine، وهو أسرع (لعدم وجود عملية قسمة). تستخدم معظم أنظمة الإنتاج الضرب النقطي على متجهات مُطبَّعة.
A Tiny End-to-End Retrieval
docs = ['Python is a programming language', 'Pizza is Italian food', 'The Eiffel Tower is in Paris']
doc_vecs = [embed(d) for d in docs]
query_vec = embed('What is Python?')
scores = [(cosine_similarity(query_vec, v), d) for v, d in zip(doc_vecs, docs)]
scores.sort(reverse=True)
for s, d in scores:
print(f'{s:.3f} {d}')
# 0.83 Python is a programming language
# 0.45 Pizza is Italian food
# 0.41 The Eiffel Tower is in Parisالاسترجاع الهجين
اجمعوا بين تشابه cosine والبحث بالكلمات المفتاحية (BM25) للحصول على أفضل ما في الطريقتين — الدلالة + المطابقة الدقيقة. تستخدم معظم أنظمة الإنتاج اليوم الاسترجاع الهجين.
التصفية المستندة إلى العتبة
استبعدوا النتائج التي تقل عن عتبة التشابه لتجنّب تمرير سياق غير ذي صلة إلى LLM:
results = [r for r in retrieved if r.score > 0.7]نطاق cosine
ما نطاق قيم تشابه cosine؟
مراجعة
تشابه cosine هو المقياس القياسي لاسترجاع التضمينات. ادمجوه مع البحث الهجين وANN للوصول إلى مستوى الإنتاج.
الأسئلة الشائعة
هل درس «التشابه الكوني للاسترجاع» مجاني؟
نعم — نص درس «التشابه الكوني للاسترجاع» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AI Agents، انتقل إلى CoddyKit PRO. تتضمن دورة AI Agents 4 دروس في المجموع.
ماذا ستتعلم في «التشابه الكوني للاسترجاع»؟
يقيس التشابه الكوني الزاوية بين متجهين، وهو مقياس المسافة القياسي للبحث الدلالي. تتمرن على AI Agents مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ AI Agents؟
لا تُشترط خبرة سابقة. AI Agents على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «التشابه الكوني للاسترجاع»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس AI Agents هذا؟
نعم. كل درس في AI Agents يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- ما هي Embeddings (تمثيلات المتجهات)
- إنشاء Embeddings باستخدام text-embedding-3
- التشابه الكوني للاسترجاع
- مقارنة نماذج Embedding (OpenAI مقابل Cohere مقابل OSS)