Late Chunking
تعرف على كيف يتيح التقسيم المتأخر إنشاء تضمينات واعية بالسياق، ويحسن الاسترجاع ودقة نظام RAG، ويحافظ على معنى المستند عبر أجزاء النص المرتبطة.
التجزئة المتأخرة هي تقنية لتضمين المستندات تحافظ على السياق المحيط عن طريق ترميز مستند طويل قبل إنتاج التضمينات لأقسامه الأصغر. بدلاً من تقسيم النص أولاً وتضمين كل جزء بشكل مستقل، تستخدم نموذجاً ذو سياق طويل لإنشاء تمثيلات رموز واعية للسياق، ثم تجمع الرموز التي تنتمي إلى كل جزء في متجهات منفصلة. تظل التضمينات الناتجة مناسبة للاسترجاع بينما تحمل معلومات من المستند الأوسع.
كيف تعمل التجزئة المتأخرة#
تتبع خطوط أنابيب الاسترجاع التقليدية عادةً هذا الترتيب: التقسيم، والترميز، والتخزين. هذا يتسم بالكفاءة، ولكن قد يحتوي الجزء المعزول على عبارات مثل "المكون"، أو "هذه النتيجة"، أو "فشل" دون تحديد ما تشير إليه.
تغير التجزئة المتأخرة هذا الترتيب:
- يتم تقسيم المستند إلى رموز، بينما يتم تسجيل حدود الأجزاء المطلوبة.
- يمر تسلسل الرموز الكامل، أو الجزء الأكبر الذي يتناسب مع نافذة السياق للنموذج، عبر محول طويل السياق.
- من خلال آلية الانتباه للنموذج، يدمج تمثيل كل رمز معلومات من رموز أخرى في هذا السياق.
- يتم تجميع متجهات الرموز وفقاً للحدود المسجلة ودمجها، عادةً من خلال التجميع المتوسط، لإنتاج تضمين واحد لكل جزء.
الفرق الرئيسي هو التوقيت: الحدود لا تزال موجودة، ولكنها تُطبق بعد الترميز السياقي وليس قبله. يوفر شرح Jina AI للتجزئة المتأخرة مقارنة بصريّة لهذين الترتيبين للمعالجة.
لماذا يهم الحفاظ على السياق#
تساعد التجزئة المستندات على ملاءمة حدود النموذج وتتيح لأنظمة البحث استرجاع فقرات دقيقة. تشير إرشادات تجزئة المستندات من Microsoft إلى أن تمثيل مستند كبير بأكمله بمتجه واحد يمكن أن يضغط أيضاً الكثير من الأفكار في تمثيل واحد.
ومع ذلك، تزيد الأجزاء الأصغر من خطر فقدان السياق. ضع في اعتبارك هاتين الفقرتين المتجاورتين:
- “تم تركيب مضخة XR-12 بجانب مشعب التبريد.”
- “يجب استبدالها بعد 10000 ساعات تشغيل.”
عند تضمينها بشكل مستقل، لا تحدد الفقرة الثانية ما تعنيه "هي". مع التجزئة المتأخرة، فإن تمثيلات الرموز الخاصة بها قد اهتمت بالفعل بـ "مضخة XR-12"، مما يجعل الفقرة أكثر فائدة لاستعلام مثل "متى يجب استبدال مضخة XR-12؟"
ترتبط التجزئة المتأخرة بشكل خاص بـ التوليد المعزز بالاسترجاع، حيث توفر الفقرات المحددة سياق تأريض لنموذج اللغة. تشرح نظرة عامة على Google Cloud RAG الأوسع كيف يربط الاسترجاع بين التضمينات، وبحث المتجهات، والتوليد المؤرض.
طرق التجزئة والاسترجاع ذات الصلة#
تحل التجزئة المتأخرة مشكلة مختلفة عن العديد من التقنيات ذات الأسماء المشابهة:
- التجزئة الدلالية تختار الحدود بناءً على التغيرات في المعنى. تحدد التجزئة المتأخرة متى يحدث الترميز السياقي، لذا يمكن دمج التقنيتين.
- الاسترجاع السياقي يثري الأجزاء بنص تفسيري إضافي أو بيانات وصفية قبل الفهرسة. بدلاً من ذلك، تنقل التجزئة المتأخرة السياق ضمنياً من خلال تمثيلات الرموز.
- تداخل الأجزاء يكرر النص القريب من الحدود المجاورة. يمكنه الحفاظ على القرائن المحلية ولكنه يزيد من حجم الفهرس وقد ينشئ نتائج مكررة. يناقش دليل استراتيجية التجزئة من Cohere كيف يؤثر حجم الجزء والتداخل على الاسترجاع.
- التفاعل المتأخر يخزن متجهات متعددة على مستوى الرموز ويقارنها أثناء الاسترجاع. تخزن التجزئة المتأخرة عادةً متجهاً واحداً مجمعاً لكل جزء، مما يجعلها متوافقة مع قاعدة بيانات متجهات تقليدية.
إعادة الترتيب تكون أيضاً مكملة وليست مكافئة: فهي تعيد ترتيب المرشحين المسترجعين بعد البحث الأولي، كما يوضح سغّل تصنيف Google Cloud.
التنفيذ العملي#
تکشف بعض واجهات برمجة تطبيقات التضمين عن التجزئة المتأخرة مباشرة. يرسل الطلب التالي الفقرات المرتبة من مستند واحد إلى Jina Embedding API ويعيد تضميناً سياقياً واحداً لكل فقرة:
import os
import requests
chunks = [
"The XR-12 pump is installed beside the cooling manifold.",
"It must be replaced after 10,000 operating hours.",
]
payload = {
"model": "jina-embeddings-v3",
"task": "retrieval.passage",
"late_chunking": True,
"input": chunks,
}
headers = {"Authorization": f"Bearer {os.environ['JINA_API_KEY']}"}
response = requests.post(
"https://api.jina.ai/v1/embeddings",
headers=headers,
json=payload,
timeout=30,
)
response.raise_for_status()
print(len(response.json()["data"]))يتطابق عدد المخرجات مع عدد الأجزاء المدخلة، لكن كل متجه يعكس سياق المستند المشترك. سير عمل بديل ذاتي الإدارة يقوم بترميز تسلسل الرموز الكامل ويجمع النطاقات بعد ذلك، كما هو موضح في تنفيذ التجزئة المتأخرة لبحث المتجهات الخاص بـ Elastic.
التطبيقات والتوجهات في العالم الحقيقي#
يوضح تطبيقان عمليان أين يهم هذا السياق:
- مساعدو المعرفة التقنية: غالباً ما تقدم أدلة المنتجات جزءاً مرة واحدة وتشير إليه لاحقاً بشكل غير مباشر. تساعد التجزئة المتأخرة نظام الدعم في استرجاع خطوة الصيانة الصحيحة بدلاً من فقرة أخرى تحتوی على لغة عامة مشابهة.
- بحث تقارير الرؤية الحاسوبية: قد يجمع سير عمل الرؤية الحاسوبية وRAG بين الاكتشافات، وملاحظات الفحص، والتسميات التوضيحية، وسجلات الصيانة. بعد أن يكتشف Ultralytics YOLO26 المعدات أو العيوب، يمكن أن تحسن التجزئة المتأخرة الاسترجاع عبر التقرير النصي المرتبط. يمكن أيضاً استكشاف السجلات المرئية باستخدام سير عمل بحث تشابه الصور.
استخدم التجزئة المتأخرة عندما تحتوي المستندات على إحالات مرجعية، أو ضمائر، أو تعريفات، أو تبعيات سردية. حافظ على الأجزاء ذات الصلة بترتيب المستندات، واحترم حد السياق لنموذج التضمين، واحتفظ بالعناوين وبيانات المصدر الوصفية، وقيم الاسترجاع باستعلامات واقعية. إنها تضيف تكلفة ترميز لأن المزيد من الرموز تتم معالجتها معاً، لذا قد تظل تضمينات الأجزاء المستقلة مفضلة للسجلات القصيرة المستقلة بذاتها.






