المتجهات في Azure الذكاء الاصطناعي Search

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

  • التشابه الدلالي أو المفاهيمي ("الكلب" و"الكلاب"، المتشابهة من الناحية المفاهيمية ولكنها مميزة لغويا)
  • محتوى متعدد اللغات ("كلب" باللغة الإنجليزية و"hund" باللغة الألمانية)
  • أنواع محتويات متعددة ("كلب" في نص عادي وصورة لكلب في ملف صورة)

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

نوصي بهذه المقالة للخلفية، ولكن إذا كنت تفضل البدء، فاتبع الخطوات التالية:

يمكنك أيضا البدء بالتشغيل السريع للمتجه أو نماذج التعليمات البرمجية على GitHub.

ما هي السيناريوهات التي يمكن أن تدعم البحث المتجه؟

تتضمن سيناريوهات البحث عن المتجهات ما يلي:

  • بحث التشابه. قم بترميز النص باستخدام نماذج التضمين مثل تضمين OpenAI أو نماذج مصدر مفتوح مثل SBERT، واسترداد المستندات باستخدام الاستعلامات التي يتم ترميزها أيضا كخطوط متجهة.

  • البحث عبر أنواع محتويات مختلفة (متعددة الوسائط). قم بترميز الصور والنصوص باستخدام التضمينات متعددة الوسائط (على سبيل المثال، باستخدام OpenAI CLIP أو GPT-4 Turbo مع الرؤية في Azure OpenAI) والاستعلام عن مساحة تضمين تتكون من متجهات من كلا النوعين من المحتوى.

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

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

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

  • قاعدة بيانات المتجهات. يخزن Azure الذكاء الاصطناعي Search البيانات التي تقوم بالاستعلام عليها. استخدمه كمخزن متجه خالص في أي وقت تحتاج فيه إلى ذاكرة طويلة الأجل أو قاعدة المعارف (KB) أو بيانات الأساس لبنية Retrieval Augmented Generation (RAG) أو أي تطبيق يستخدم المتجهات.

يتضمن دعم المتجه فهرسة وتخزين والاستعلام عن تضمينات المتجهات من فهرس بحث.

يوضح الرسم التخطيطي التالي مهام سير عمل الفهرسة والاستعلام للبحث في المتجهات.

بنية سير عمل البحث في المتجهات.

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

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

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

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

التوفر والتسعير

يتوفر البحث عن المتجهات كجزء من جميع مستويات Azure الذكاء الاصطناعي Search في جميع المناطق دون أي رسوم إضافية.

تدعم الخدمات الأحدث التي تم إنشاؤها بعد 3 أبريل 2024 الحصص النسبية الأعلى لمؤشرات المتجهات.

يتوفر البحث عن المتجهات في:

إشعار

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

تم دمج Azure الذكاء الاصطناعي Search بشكل عميق عبر النظام الأساسي Azure الذكاء الاصطناعي. يسرد الجدول التالي العديد من العناصر المفيدة في أحمال العمل المتجهة.

المنتج التكامل
Azure OpenAI Studio في الدردشة مع ملعب البيانات الخاص بك، تستخدم إضافة بياناتك الخاصة Azure الذكاء الاصطناعي البحث عن البيانات الأساسية والبحث عن المحادثة. هذا هو أسهل وأسرع نهج للدردشة مع بياناتك.
Azure OpenAI يوفر Azure OpenAI نماذج تضمين ونماذج دردشة. تستهدف العروض التوضيحية والعينات text-embedding-ada-002. نوصي ب Azure OpenAI لإنشاء تضمينات للنص.
خدمات الذكاء الاصطناعي في Azure يدعم Image Retrieval Vectorize Image API(Preview) تحويل محتوى الصورة. نوصي بواجهة برمجة التطبيقات هذه لإنشاء تضمينات للصور.
الأنظمة الأساسية لبيانات Azure: Azure Blob Storage، Azure Cosmos DB يمكنك استخدام المفهرسات لأتمتة استيعاب البيانات، ثم استخدام المتجهات المتكاملة (معاينة) لإنشاء عمليات تضمين. يمكن ل Azure الذكاء الاصطناعي Search فهرسة بيانات المتجهات تلقائيا من مصدري بيانات: مفهرسات Azure blob وAzure Cosmos DB لمفهرسات NoSQL. لمزيد من المعلومات، راجع إضافة حقول متجه إلى فهرس بحث.

كما أنها شائعة الاستخدام في أطر عمل مفتوحة المصدر مثل LangChain.

مفاهيم البحث عن المتجهات

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

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

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

التضمينات واتجاهاتها

التضمينات هي نوع معين من تمثيل المتجهات للمحتوى أو الاستعلام، تم إنشاؤه بواسطة نماذج التعلم الآلي التي تلتقط المعنى الدلالي للنص أو تمثيلات المحتوى الآخر مثل الصور. يتم تدريب نماذج التعلم الآلي للغة الطبيعية على كميات كبيرة من البيانات لتحديد الأنماط والعلاقات بين الكلمات. أثناء التدريب، يتعلمون تمثيل أي إدخال كمتجه للأرقام الحقيقية في خطوة وسيطة تسمى أداة الترميز. بعد اكتمال التدريب، يمكن تعديل نماذج اللغة هذه بحيث يصبح تمثيل المتجه الوسيط ناتج النموذج. التضمينات الناتجة هي متجهات عالية الأبعاد، حيث تكون الكلمات ذات المعاني المماثلة أقرب معا في مساحة المتجه، كما هو موضح في فهم التضمينات (Azure OpenAI).

تعتمد فعالية البحث المتجه في استرداد المعلومات ذات الصلة على فعالية نموذج التضمين في تقطير معنى المستندات والاستعلامات في المتجه الناتج. أفضل النماذج مدربة جيدا على أنواع البيانات التي تمثلها. يمكنك تقييم النماذج الموجودة مثل Azure OpenAI text-embedding-ada-002، أو إحضار نموذجك الخاص المدرب مباشرة على مساحة المشكلة، أو ضبط نموذج للأغراض العامة. لا يفرض Azure الذكاء الاصطناعي Search قيودا على النموذج الذي تختاره، لذا اختر أفضل نموذج لبياناتك.

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

ما هي مساحة التضمين؟

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

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

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

يدعم Azure الذكاء الاصطناعي Search حاليا الخوارزميات التالية:

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

  • شاملة K-أقرب الجيران (KNN): حساب المسافات بين متجه الاستعلام وجميع نقاط البيانات. إنه مكثف حسابيا، لذلك يعمل بشكل أفضل لمجموعات البيانات الأصغر. نظرا لأن الخوارزمية لا تتطلب وصولا عشوائيا سريعا لنقاط البيانات، لا تستهلك هذه الخوارزمية حصة حجم فهرس المتجهات. ومع ذلك، توفر هذه الخوارزمية المجموعة العالمية لأقرب الجيران.

ضمن تعريف الفهرس، يمكنك تحديد خوارزمية واحدة أو أكثر، ثم لكل حقل متجه حدد الخوارزمية التي يجب استخدامها:

  • إنشاء مخزن متجه لتحديد خوارزمية في الفهرس وفي الحقول.

  • للحصول على KNN شاملة، استخدم 2023-11-01 أو 2023-10-01-Preview أو مكتبات بيتا Azure SDK التي تستهدف إصدار REST API.

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

بالإضافة إلى ذلك، تدعم الحقول التي تحدد خوارزمية HNSW أيضا بحث KNN الشامل باستخدام معلمة "exhaustive": trueطلب الاستعلام . العكس ليس صحيحا ومع ذلك. إذا تمت فهرسة حقل ل exhaustiveKnn، فلا يمكنك استخدام HNSW في الاستعلام لأن بنيات البيانات الإضافية التي تمكن البحث الفعال غير موجودة.

أقرب الجيران التقريبيين

البحث التقريبي عن أقرب جار (ANN) هو فئة من الخوارزميات للعثور على التطابقات في مساحة المتجه. تستخدم هذه الفئة من الخوارزميات بنيات بيانات مختلفة أو أساليب تقسيم البيانات لتقليل مساحة البحث بشكل كبير لتسريع معالجة الاستعلام.

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

يستخدم Azure الذكاء الاصطناعي Search HNSW لخوارزمية ANN الخاصة به.

الخطوات التالية