البحث المختلط باستخدام المتجهات والنص الكامل في Azure الذكاء الاصطناعي Search

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

  • طلب استعلام واحد يتضمن كل من search معلمات الاستعلام و vectors
  • التنفيذ بالتوازي
  • مع النتائج المدمجة في استجابة الاستعلام، تم تسجيلها باستخدام Fusion Rank متبادل (RRF)

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

كيف يعمل البحث المختلط؟

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

يجمع البحث المختلط بين النتائج من استعلامات النص الكامل والمتجه، والتي تستخدم دالات ترتيب مختلفة مثل BM25 وHNSW. تدمج خوارزمية Fusion Rank Fusion (RRF) النتائج. توفر استجابة الاستعلام مجموعة نتائج واحدة فقط، باستخدام RRF لاختيار التطابقات الأكثر صلة من كل استعلام.

بنية استعلام مختلط

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

قد يكون الاستعلام المختلط التمثيلي كما يلي (لاحظ أنه تم اقتطاع المتجه للإيجاز):

POST https://{{searchServiceName}}.search.windows.net/indexes/hotels-vector-quickstart/docs/search?api-version=2023-11-01
  content-type: application/JSON
{
    "count": true,
    "search": "historic hotel walk to restaurants and shopping",
    "select": "HotelId, HotelName, Category, Description, Address/City, Address/StateProvince",
    "filter": "geo.distance(Location, geography'POINT(-77.03241 38.90166)') le 300",
    "facets": [ "Address/StateProvince"], 
    "vectors": [
        {
            "value": [ <array of embeddings> ]
            "k": 7,
            "fields": "DescriptionVector"
        },
        {
            "value": [ <array of embeddings> ]
            "k": 7,
            "fields": "Description_frVector"
        }
    ],
    "queryType": "semantic",
    "queryLanguage": "en-us",
    "semanticConfiguration": "my-semantic-config"
}

وتشمل النقاط الرئيسية ما يلي:

  • search يحدد استعلام بحث نصي كامل.
  • vectors بالنسبة إلى استعلامات المتجهات، التي يمكن أن تكون متعددة، تستهدف حقول متجهات متعددة. إذا كانت مساحة التضمين تتضمن محتوى متعدد اللغات، يمكن أن تجد استعلامات المتجهات المطابقة دون الحاجة إلى محللات لغة أو ترجمة.
  • select يحدد الحقول التي يجب إرجاعها في النتائج، والتي يمكن أن تكون حقولا نصية قابلة للقراءة البشرية.
  • filters يمكن تحديد البحث الجيوفضائي أو غيرها من معايير التضمين والاستبعاد، مثل ما إذا كان موقف السيارات مضمنا أم لا. يبحث الاستعلام الجيوفضائي في هذا المثال عن فنادق تقع ضمن دائرة نصف قطرها 300 كيلومتر في واشنطن العاصمة.
  • facets يمكن استخدامها لحساب مستودعات الواجهة على النتائج التي يتم إرجاعها من الاستعلامات المختلطة.
  • queryType=semantic يستدعي الترتيب الدلالي، وتطبيق فهم القراءة الآلية لعرض نتائج بحث أكثر صلة.

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

لاحظ كيف لا orderby يوجد في الاستعلام. تتجاوز أوامر الفرز الصريحة النتائج ذات الصلة، لذلك إذا كنت تريد التشابه وأهمية BM25، فاحذف الفرز في الاستعلام.

قد تبدو الاستجابة من الاستعلام أعلاه كما يلي:

{
    "@odata.count": 3,
    "@search.facets": {
        "Address/StateProvince": [
            {
                "count": 1,
                "value": "NY"
            },
            {
                "count": 1,
                "value": "VA"
            }
        ]
    },
    "value": [
        {
            "@search.score": 0.03333333507180214,
            "@search.rerankerScore": 2.5229012966156006,
            "HotelId": "49",
            "HotelName": "Old Carrabelle Hotel",
            "Description": "Spacious rooms, glamorous suites and residences, rooftop pool, walking access to shopping, dining, entertainment and the city center.",
            "Category": "Luxury",
            "Address": {
                "City": "Arlington",
                "StateProvince": "VA"
            }
        },
        {
            "@search.score": 0.032522473484277725,
            "@search.rerankerScore": 2.111117362976074,
            "HotelId": "48",
            "HotelName": "Nordick's Motel",
            "Description": "Only 90 miles (about 2 hours) from the nation's capital and nearby most everything the historic valley has to offer.  Hiking? Wine Tasting? Exploring the caverns?  It's all nearby and we have specially priced packages to help make our B&B your home base for fun while visiting the valley.",
            "Category": "Boutique",
            "Address": {
                "City": "Washington D.C.",
                "StateProvince": null
            }
        }
    ]
}

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

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

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

(راجع أيضًا )

البحث عن متجهات تفوق الأداء مع الاسترداد والتصنيف المختلط (مدونة التكنولوجيا)