AI Agents · درس

إعادة الترتيب باستخدام Cross-Encoders

استرجع أفضل 50 نتيجة باستخدام embeddings رخيصة، ثم أعد ترتيب أفضل 5 باستخدام cross-encoder أبطأ لتحقيق دقة أعلى.

الدرس 1 من 414 خطوة

إعادة الترتيب باستخدام Cross-Encoders درس مجاني في AI Agents على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AI Agents، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AI Agents 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

لماذا نعيد الترتيب؟

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

تأخذ أداة إعادة الترتيب أزواج (الاستعلام، المقطع) وتحسب درجة صلة أكثر دقة بكثير.

المشفّر الثنائي مقابل المشفّر المتقاطع

بنيتان لتشابه النصوص:

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

الاسترجاع على مرحلتين

النمط الذي يجمع بينهما:

  1. يسترجع المشفّر الثنائي أفضل 50 مرشحًا بسرعة
  2. يعيد المشفّر المتقاطع ترتيبها لاختيار أفضل 5
  3. تُدرج أفضل 5 في مطالبة LLM

تحصل على سرعة المشفّر الثنائي ودقة المشفّر المتقاطع.

استخدام Cohere Rerank

أسهل مشفّر متقاطع للاستخدام في الإنتاج:

import cohere
co = cohere.Client(COHERE_KEY)

results = co.rerank(
    model='rerank-multilingual-v3.0',
    query='What is the refund policy?',
    documents=top_50_chunks,
    top_n=5
)
for r in results.results:
    print(r.index, r.relevance_score, top_50_chunks[r.index])

أدوات إعادة الترتيب مفتوحة المصدر

يُعد BGE Reranker الخيار الرائد مفتوح المصدر:

from sentence_transformers import CrossEncoder
model = CrossEncoder('BAAI/bge-reranker-base')

pairs = [(query, chunk) for chunk in candidates]
scores = model.predict(pairs)
ranked = [c for _, c in sorted(zip(scores, candidates), reverse=True)][:5]

Voyage Rerank

import voyageai
vo = voyageai.Client(api_key=VOYAGE_KEY)
res = vo.rerank(
    query=query,
    documents=candidates,
    model='rerank-2',
    top_k=5
)

متى تساعد إعادة الترتيب

  • قوائم المرشحين الطويلة (50-200)
  • الفروق الدقيقة في الصلة
  • الاستعلامات التي تتضمن نفيًا أو مقارنة
  • الحالات متعددة اللغات

متى لا تفيد

  • مجموعات المرشحين الضيقة أصلًا (أفضل 5 من المشفّر الثنائي)
  • الاستعلامات الحساسة لزمن الاستجابة ومنخفضة المخاطر

مقايضة التكلفة

ينفّذ المشفّر المتقاطع عملية استدلال لكل زوج. وإعادة ترتيب 50 مرشحًا تعني 50 استدعاءً للنموذج (وهي رخيصة باستخدام Cohere/Voyage، لكنها أبطأ عند الاستضافة الذاتية).

خصّص من 50 إلى 200 مرشح لإعادة الترتيب؛ فزيادة العدد نادرًا ما تستحق التكلفة.

Integrating into LangChain

from langchain.retrievers import ContextualCompressionRetriever
from langchain.retrievers.document_compressors import CohereRerank

compressor = CohereRerank(top_n=5)
retriever = ContextualCompressionRetriever(
    base_compressor=compressor,
    base_retriever=vector_retriever
)

Integrating into LlamaIndex

from llama_index.postprocessor.cohere_rerank import CohereRerank

rerank = CohereRerank(top_n=5)
query_engine = index.as_query_engine(
    similarity_top_k=20,
    node_postprocessors=[rerank]
)

إعادة ترتيب تراعي التنوع

أحيانًا تريد نتائج متنوعة، لا النتائج الأعلى تسجيلًا فقط (فقد تكون نسخًا شبه متطابقة). توازن MMR (الصلة الهامشية القصوى) بين الدرجة والتنوع:

from langchain.vectorstores import Chroma
results = store.max_marginal_relevance_search(query, k=5, fetch_k=20, lambda_mult=0.5)

النمط ذو المرحلتين

لماذا نستخدم المشفّر الثنائي والمشفّر المتقاطع بدلًا من استخدام أحدهما فقط؟

مراجعة

يسترجع المشفّر الثنائي 50 نتيجة، ثم يعيد المشفّر المتقاطع ترتيبها لاختيار 5. استخدم Cohere أو Voyage في الإنتاج، وBGE مفتوح المصدر عند الاستضافة الذاتية. ستحصل على تحسن ملحوظ في الدقة مقابل تكلفة إضافية معتدلة.

البدء مجانًا

تعلم AI Agents مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
60
الدروس
239

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

هل درس «إعادة الترتيب باستخدام Cross-Encoders» مجاني؟

نعم — نص درس «إعادة الترتيب باستخدام Cross-Encoders» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AI Agents، انتقل إلى CoddyKit PRO. تتضمن دورة AI Agents 4 دروس في المجموع.

ماذا ستتعلم في «إعادة الترتيب باستخدام Cross-Encoders»؟

استرجع أفضل 50 نتيجة باستخدام embeddings رخيصة، ثم أعد ترتيب أفضل 5 باستخدام cross-encoder أبطأ لتحقيق دقة أعلى. تتمرن على AI Agents مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ AI Agents؟

لا تُشترط خبرة سابقة. AI Agents على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «إعادة الترتيب باستخدام Cross-Encoders»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس AI Agents هذا؟

نعم. كل درس في AI Agents يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. إعادة الترتيب باستخدام Cross-Encoders
  2. HyDE: Embeddings المستندات الافتراضية
  3. الاسترجاع متعدد المتجهات (ColBERT)
  4. تقييم RAG (RAGAS وRecall@K)
← العودة إلى AI Agents