Search⌘ K
AI Features

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

تعرف على قواعد البيانات المتجهة، واستكشف ماهية التضمينات، وافهم علاقتها بقواعد البيانات المتجهة.

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

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

A vector database housing vectorized data
A vector database housing vectorized data

من خلال تخزين البيانات في نموذج متجه، تسهل قواعد البيانات المتجهة تخزين ومعالجة أنواع البيانات غير المتجانسة، مما يتيح المعالجة والتحليل الفعال باستخدام التقنيات الرياضية.

ما هي التضمينات (المتجهة)؟

المتجه هو عمومًا مصفوفة من الأرقام، بغض النظر عما تمثله هذه الأرقام. عندما نستخدم المتجهات لاستخلاص معلومات ذات دلالة حول البيانات، مثل بنيتها وخصائصها وعلاقاتها الدلالية وسياقها، فإننا نسميها تمثيلات متجهة أو ببساطة تمثيلات.

توليد تمثيلات مضمنة من البيانات

لقد رأينا فوائد التضمينات في مجالات متنوعة أعلاه. قد تتساءل عن مصدر هذه التضمينات أو كيفية توليدها لبياناتنا. إليك إجابة مختصرة. سنتناولها بالتفصيل في درس لاحق.

توجد نماذج تضمين مختلفة مصممة خصيصًا لأنواع البيانات والاحتياجات المختلفة. نماذج التضمين هي نماذج تعلم آلي تأخذ كائنات بيانات إدخال مثل المستندات إخراج تضمينات، وهي تمثيلات رقمية للسمات والخصائص الأساسية لتلك البيانات.

A document embedding model transforming input documents into numerical representations
A document embedding model transforming input documents into numerical representations

ملاحظة: سنناقش نماذج التضمين الشائعة المستخدمة لإنشاء تضمينات الكلمات والجمل والمستندات والصور والفيديوهات والصوتيات أثناء تقدمنا ​​في الدورة.

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

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

The client application generates embeddings for its dataset using an embedding model and stores the generated embeddings in a vector database
1 / 2
The client application generates embeddings for its dataset using an embedding model and stores the generated embeddings in a vector database

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

  1. توليد التضمينات: تُغذى الصور إلى نموذج تضمين الصور، الذي يحولها إلى متجهات عددية عالية الأبعاد، ويلتقط مختلف ميزات وخصائص الصور. يتم تمثيل كل صورة بمتجه تضمين فريد.

  2. تخزين التضمينات: يتم تخزين متجهات التضمين هذه في قاعدة بيانات متجهة، والتي تقوم بفهرستها وتنظيمها بكفاءة لاسترجاعها بسرعة.

  3. معالجة الاستعلام: عندما يقوم المستخدم بإرسال صورة استعلام، فإنها تخضع لنفس عملية التضمين لإنشاء متجه تضمين الاستعلام.

  4. البحث عن التشابه: تُجري قاعدة بيانات المتجهات بحثًا عن التشابه بمقارنة متجه تضمين الاستعلام مع متجهات التضمين المخزنة لجميع الصور. ويمكن استخدام مقاييس تشابه متنوعة، مثل المسافة الإقليدية أو تشابه جيب التمام، لهذه المقارنة.

  5. نتائج الإرجاع: يتم استرجاع الصور ذات متجهات التضمين الأكثر تشابهًا مع تضمين الاستعلام من قاعدة البيانات وإعادتها إلى المستخدم كصور مشابهة.

مكونات قاعدة بيانات المتجهات وكيفية عملها

لقد استعرضنا سابقًا تعريف قاعدة بيانات المتجهات، لكننا لم نتطرق إلى مكوناتها الداخلية وكيفية عملها. كان من الضروري تقديم مفهوم التضمينات، وهو نوع البيانات التي تخزنها قواعد بيانات المتجهات وتعالجها. الآن، سنتناول المكونات المختلفة لقاعدة بيانات المتجهات وكيفية عملها.

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

A high-level design of a vector database
A high-level design of a vector database
  • طبقة الفهرسة: تُنظّم هذه الطبقة بيانات المتجهات لتسهيل البحث، لا سيما في مهام مثل البحث عن التشابه. وتُنشئ فهارس أو هياكل بيانات مُخصصة لاسترجاع المتجهات المُشابهة لمتجه الاستعلام بسرعة. وتُستخدم تقنيات فهرسة مُتنوعة، منها:

    • فهارس الملفات المعكوسة (IVF)

    • فهارس العوالم الصغيرة الهرمية القابلة للتصفح (HNSW)

    • الهياكل القائمة على الأشجار (مثل أشجار kd، وأشجار الكرة)

    • تقنيات التجزئة (مثل فهارس التجزئة الحساسة للموقع (LSH))

    • الهياكل القائمة على الرسوم البيانية (مثل الرسوم البيانية التقريبية لأقرب الجيران)

  • طبقة التخزين: تتولى طبقة التخزين في قاعدة بيانات المتجهات مسؤولية تخزين بيانات المتجهات بكفاءة. وتستخدم هذه الطبقة هياكل بيانات متخصصة مُحسَّنة لتخزين المتجهات عالية الأبعاد، مما يدعم عمليات الإضافة والاسترجاع والحذف السريعة. كما تضمن هذه الطبقة سلامة البيانات واستمراريتها من خلال النسخ والتقسيم. بالإضافة إلى ذلك، تُدير عمليات الإدخال والإخراج على القرص لتقليل زمن الاستجابة وزيادة الإنتاجية إلى أقصى حد.

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

إن دمج هذه المكونات يسمح لقاعدة بيانات المتجهات بتخزين وفهرسة واسترجاع بيانات المتجهات عالية الأبعاد بكفاءة، مما يتيح تطبيقات متنوعة تعتمد على البيانات مثل البحث عن التشابه وأنظمة التوصية والتجميع.

ملاحظة: سنستكشف قواعد بيانات المتجهات مفتوحة المصدر المختلفة، وتصميماتها، وميزاتها البارزة في الفصل التالي.

قواعد بيانات المتجهات لطلاب الماجستير في القانون

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

A representation of how LLMs work during the query-prompting process by the user
A representation of how LLMs work during the query-prompting process by the user

لاستكشاف كيفية استخدام نماذج اللغة الخطية لقواعد البيانات المتجهة في أنظمة RAG، يمكنك زيارة دورة أساسيات الاسترجاع - التوليد المعزز باستخدام LangChain .

ماذا بعد؟

بعد مقدمة أساسية عن قواعد بيانات المتجهات والتضمينات، سيتناول هذا الفصل بعض الأساليب والخوارزميات الرياضية لإيجاد أوجه التشابه بين التضمينات. ثم سنستكشف نماذج التضمين لإنشاء تضمينات لأنواع البيانات المختلفة (النصوص، والصور، والصوت، والفيديو). وسنستخدم نموذج تضمين مُختار لكل نوع من أنواع البيانات لإنشاء التضمينات.