وحدة 2 / 11

التضمين ومنطق قاعدة البيانات المتجهة

المكاسب:

  • افهم أن التضمين يحول النص إلى متجه في الفضاء الدلالي والمعاني المشابهة هي ناقلات قريبة
  • شرح كيفية عمل بحث ANN مع مقاييس تشابه جيب التمام والنقطة
  • اختيار قواعد بيانات المتجهات الشائعة بناءً على التكلفة والحجم والحاجة إلى تصفية البيانات الوصفية

يوجد في قلب RAG سؤال واحد: "ما هو النص الأكثر تشابهًا مع سؤال المستخدم؟" يقوم الكمبيوتر بمعالجة النص بالأرقام، وليس حرفيًا. ولهذا السبب نحتاج أولاً إلى تحويل النص إلى أرقام تحمل معناه. هذا هو التضمين: عملية تحويل النص إلى سلسلة من الأرقام (المتجه) التي تمثل معنى ذلك النص. عند الانتهاء من هذه الوحدة، ستعرف كيفية عمل التضمين، وكيفية قياس التشابه، وكيفية اختيار قاعدة بيانات المتجهات الصحيحة.

التضمين: ترجمة المعنى إلى إحداثيات

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

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

نصيحة: فكر في التضمين باعتباره "بصمة للمعنى". تبدو بصمات الجملتين اللتين لهما نفس المعنى متشابهة؛ حتى لو اختلفت الكلمات .

قاعدة مهمة: النموذج الذي تستخدمه عند تضمين السؤال يجب أن يكون هو نفس النموذج الذي تستخدمه عند تضمين المستندات. نماذج مختلفة تنتج مساحات مختلفة. الإحداثيات تصبح لا تضاهى.

كيفية قياس التشابه؟

هناك عدة طرق لقياس مدى تشابه ناقلين. الأكثر شيوعًا هو تشابه جيب التمام: فهو يقيس الزاوية بين متجهين. إذا كانت الزاوية صغيرة (المتجهات تشير إلى نفس الاتجاه)، فإن التشابه كبير. القيمة بين −1 و 1؛ قريب من 1 = مشابه جدًا.

المعيار

ماذا يقيس؟

متى يفضل؟

جيب التمام

الزاوية (الاتجاه) بين المتجهات

الأكثر شيوعاً؛ الافتراضي في التشابه الدلالي النص

منتج دوت

الاتجاه + الحجم معا

إذا تم تسوية المتجهات، فإنها تعطي نفس نتيجة جيب التمام؛ سريع

الإقليدية (المسافة الإقليدية)

المسافة المستقيمة بين الإحداثيات

في بعض سيناريوهات التجميع؛ أقل استخداما في النص

من الناحية العملية، تنتج معظم نماذج التضمين نواقل طبيعية (يتم ضبط الحجم على 1)؛ في هذه الحالة، جيب التمام وحاصل الضرب النقطي يعطيان نفس الترتيب. لا تصاب بالشلل في اتخاذ القرار: ابدأ بجيب التمام.

ومن بين ملايين النواقل، تكون مقارنتها واحدًا تلو الآخر أمرًا بطيئًا. لهذا السبب تستخدم قواعد البيانات المتجهة خوارزميات ANN (أقرب جار تقريبي). تعثر ANN على "الأقرب تمامًا تقريبًا" بدلاً من "الأقرب تمامًا" بسرعة كبيرة. على سبيل المثال، يمكن للطريقة المسماة HNSW إرجاع النتائج خلال بضعة أجزاء من الثانية حتى بالنسبة لـ 10 ملايين متجه. يمكنك الحصول على سرعة كبيرة مقابل تضحية صغيرة بالدقة.

ماذا تفعل قاعدة بيانات المتجهات؟

تقوم قاعدة البيانات المتجهة بثلاثة أشياء في وقت واحد: (1) تخزين المتجهات، (2) العثور سريعًا على المتجهات الأكثر تشابهًا مع متجه الاستعلام، (3) إجراء عمليات التصفية حسب البيانات التعريفية بجوار كل متجه. البيانات التعريفية هي العلامات التي ترفقها بتلك القطعة: الملف المصدر، والتاريخ، والقسم، ومستوى الخصوصية، وما إلى ذلك. تعد تصفية البيانات التعريفية أمرًا بالغ الأهمية في RAG للمؤسسة؛ لأنك تحتاج إلى أن تكون قادرًا على وضع قيود مثل "البحث فقط في مستندات القسم المالي لعام 2025".

# سجل في قاعدة بيانات المتجهات (المفاهيمية)vektor_db.add( id="izin-politikasi-parca-3"، vektor=embed("الإجازة السنوية مدفوعة الأجر هي 14 يومًا...")، text="الإجازة السنوية مدفوعة الأجر هي 14 يومًا..."، البيانات الوصفية={"source": "ik_el_kitabi.pdf"، "department": "IK"، "date": "2025-06"، "الخصوصية": "ic"})

# بحث البيانات الوصفية (المفاهيمي)result = vektor_db.search( vektor=embed("كم عدد أيام الإجازة لدي؟"), top_k=4, filter={"department": "HR", "privacy": ["internal", "on"]})

اختيار قاعدة البيانات الصحيحة

مركبة

الجانب المميز

الوضع المناسب

مدمج / قائم على الملفات (مكتبة مضمنة)

لا يوجد تركيب، آلة واحدة

النموذج الأولي، مجموعة صغيرة (< بضع مئات الآلاف من الأجزاء)

الخدمة السحابية المدارة

القياس والصيانة ليست مسؤوليتك

الإنتاج، البيانات سريعة النمو، فريق صغير

مفتوح المصدر على الخادم الخاص بك

تحكم كامل، بياناتك تبقى ملكك

التزام الخصوصية والبنية التحتية القائمة

إضافة إلى قاعدة البيانات الموجودة

أنت لا تدير أنظمة منفصلة

إضافة دعم المتجهات إلى قاعدة البيانات التي تستخدمها بالفعل

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

نهج ضعيف / نهج قوي

ضعيف (تخزين التضمين العادي، لا توجد بيانات وصفية):

فقط احفظ النص والمتجه. البحث: قم بإرجاع المتجهات الأربعة الأكثر تشابهًا. # المشكلة: لا يمكن التصفية مثل "مستندات الموارد البشرية الحالية فقط"؛ قد يتم أيضًا تضمين # الأجزاء القديمة/غير المصرح بها في الاستجابة.

قوية (بيانات التعريف الغنية + البحث المفلتر):

أضف المصدر والتاريخ والقسم وعلامة الخصوصية إلى كل قطعة. قم بالتصفية وفقًا لسلطة المستخدم وحداثته أثناء البحث: filter = {"privacy": user_authority, "date_date": "2024-01"}# وبالتالي، تكون النتيجة آمنة وحديثة.

ثلاث حالات صغيرة

الحالة 1 - مزيج نموذجي خاطئ. قام فريق بتضمين مستندات بالنموذج أ وأسئلة بالنموذج ب. وأرجعت عمليات البحث نتائج لا معنى لها، وظل معدل الإجابة الصحيحة عند 31%. عندما قمت بالتبديل إلى نموذج واحد (كلاهما نفس نموذج التضمين)، قفز المعدل إلى 88%. الدرس: السؤال والوثيقة يجب أن يكونا في نفس المكان.

الحالة 2 - مخاطر الخصوصية بدون البيانات الوصفية. في إحدى شركات الرعاية الصحية، يتم جمع جميع مستندات القسم في مجموعة واحدة بدون بيانات وصفية. عندما يطرح أحد شركاء المبيعات سؤالاً، يقوم النظام بوضع جزء من بيانات المريض في سياقه. عند إضافة البيانات الوصفية + عامل التصفية (وفقًا لمستوى الترخيص)، تم التخلص من هذا الخطر؛ وفي حالة الاسترجاع، لم يتم إحضار 12 قطعة غير مصرح بها على الإطلاق.

الحالة 3 - عنق الزجاجة على نطاق واسع. قامت إحدى شركات التجارة الإلكترونية بالبحث في 8 ملايين وصف منتج باستخدام طريقة "مسح الكل" البسيطة؛ استغرق كل استعلام 6 ثواني. وعندما تحولنا إلى شبكة ANN المستندة إلى HNSW، انخفض الوقت إلى 45 مللي ثانية، مع خسارة 1% فقط في الدقة. الدرس: ANN إلزامي في المجموعة الكبيرة.

الأخطاء الشائعة

  • تضمين السؤال والوثيقة بنماذج مختلفة: النتائج لا معنى لها؛ دائما نموذج واحد.
  • تخطي البيانات الوصفية: لا يمكنك التصفية؛ تفقد السيطرة على الخصوصية والحداثة.
  • الخلط بين التضمين والتشفير: يحمل التضمين معلومات قابلة للعكس؛ من الخطأ افتراض أن البيانات الحساسة "مخفية".
  • بناء بنية تحتية كبيرة بشكل غير ضروري على مجموعة صغيرة: إن مجموعة عملاقة تدار لـ 5000 جزء تعتبر تعقيدًا غير ضروري.
  • لا تقلق كثيرًا بشأن معيار التشابه: ابدأ بجيب التمام في النص؛ الضبط الدقيق يأتي لاحقًا.
تنبيه: يؤدي التضمين إلى تضمين معنى النص بالأرقام، لكنه لا "يدمر" المحتوى. إذا تم تسريب قاعدة بيانات متجهة، فسيتم أيضًا اختراق النصوص الأصلية المخزنة (في معظم عمليات التثبيت، يتم تخزين النص أيضًا). حافظ على سرية مستودع المتجهات مثل المستندات الموجودة بداخله.

باختصار

  • يؤدي التضمين إلى تحويل النص إلى ناقل من الأرقام يحمل معناه؛ معاني مماثلة هي ناقلات قريبة.
  • غالبًا ما يتم قياس التشابه بواسطة جيب التمام؛ بالنسبة للمتجهات المقيسة، يعطي المنتج النقطي نفس النتيجة.
  • في البيانات الضخمة، تحل الشبكة العصبية الاصطناعية (على سبيل المثال، HNSW) محل البحث الدقيق: سرعة كبيرة مع القليل من التضحية بالدقة.
  • تقوم قاعدة بيانات المتجهات بتخزين المتجهات + البحث عن التشابه + تصفية البيانات الوصفية؛ تعد البيانات التعريفية ضرورية لـ RAG للمؤسسة.
  • يجب ترجمة السؤال والمستند بنفس نموذج التضمين؛ وإلا فلا يمكن مقارنة الإحداثيات.

مهمة التطبيق

استخرج 10 فقرات قصيرة (3-6 جمل لكل منها) من الوثيقة التي حددتها في الوحدة السابقة. (1) قم بتصميم ثلاث علامات بيانات وصفية على الأقل لكل قطعة (المصدر والتاريخ وثالثة مناسبة لسياق عملك: القسم والمنتج والخصوصية وما إلى ذلك). (2) اكتب مرشح البيانات الوصفية الذي يجب تطبيقه على 3 أسئلة مختلفة للمستخدم. (3) ابحث عن 3 أزواج من الأسئلة التي تعبر عن نفس المعنى بكلمات مختلفة (على سبيل المثال، "استحقاق الإجازة" ↔ "الإجازة السنوية") واشرح في جملة واحدة سبب عدم تطابقها مع الكلمات الرئيسية للبحث ولكنها ستتطابق مع التضمين.

قائمة مرجعية

  • [ ] أستطيع أن أقول أن التضمين يحول النص إلى ناقل في الفضاء الدلالي والمعاني المتشابهة قريبة.
  • أعلم أن [] تشابه جيب التمام يقيس الزاوية وهو التفضيل الافتراضي في النص.
  • [ ] يمكنني أن أشرح سبب أهمية ANN في البيانات الضخمة.
  • [ ] أعرف سبب أهمية البيانات الوصفية للتحكم في السرية والحداثة.
  • [ ] أتبع قاعدة ترجمة السؤال والوثيقة بنفس نموذج التضمين.