Hibrid keresés vektorokkal és teljes szövegekkel az Azure AI Keresésben

Note

Azure AI Keresés a Azure portálon, REST API-kon és Azure SDK-k keresztül érhető el. Emellett a Foundry IQ-t is támogatja, amely a vállalati tartalmakat újrafelhasználható, engedélytudatos tudásbázisokká alakítja át az Microsoft Foundry portálon található ügynökök számára.

A hibrid keresés egyetlen lekérdezési kérelem, amely teljes szöveges és vektoros lekérdezésekhez is konfigurálva van. Olyan keresési indexen fut, amely kereshető, egyszerű szöveges tartalmat és létrehozott beágyazásokat tartalmaz. Lekérdezési célokra a hibrid keresés:

  • Egyetlen lekérdezési kérelem, amely mindkettőt search és vectors lekérdezési paramétereket tartalmaz.
  • A teljes szöveges keresést és a vektorkeresést párhuzamosan futtatja.
  • Az egyes lekérdezések eredményeinek egyesítése a Kölcsönös rangsor fúzió (RRF) használatával.

Ez a cikk a hibrid keresés fogalmait, előnyeit és korlátait ismerteti. A végén található hivatkozások használati utasításokat és a következő lépéseket ismertetik. A beágyazott videóból azt is megtudhatja, hogyan járul hozzá a hibrid lekérés a kiváló minőségű generatív keresési alkalmazásokhoz.

A hibrid keresés egyesíti a vektoros keresés és a kulcsszókeresés erősségeit. A vektoros keresés előnye, hogy a keresési lekérdezéshez fogalmilag hasonló információkat talál, még akkor is, ha az invertált indexben nincsenek kulcsszó-egyezések. A kulcsszó- vagy teljes szöveges keresés előnye a pontosság, amely lehetővé teszi az opcionális szemantikai rangsorolást, amely javítja a kezdeti eredmények minőségét. Egyes forgatókönyvek, például a termékkódok lekérdezése, a speciális szakzsargon, a dátumok és a személyek nevei jobban teljesítenek a kulcsszókereséssel, mivel pontosan azonosítják a találatokat.

A valós és a benchmark-adatkészleteken végzett teljesítményteszt azt jelzi, hogy a szemantikai rangsorolóval végzett hibrid lekérés jelentős előnyökkel jár a keresési relevancia szempontjából.

Az alábbi videó bemutatja, hogy a hibrid lekérés hogyan biztosít optimális földelési adatokat a hasznos AI-válaszok létrehozásához.

Hogyan működik a hibrid keresés?

A keresési indexben a beágyazásokat tartalmazó vektormezők szöveges és numerikus mezőkkel együtt élnek. Olyan hibrid lekérdezéseket is létrehozhat, amelyek egyszerre futnak. A hibrid lekérdezések kihasználják a meglévő szövegalapú funkciókat, például a szűrést, a szűrést, a rendezést, a pontozási profilokat és a szemantikai rangsorolást a szövegmezőkben, miközben egyetlen keresési kérelemben hasonlósági keresést hajtanak végre a vektorok között.

A hibrid keresés egyesíti a teljes szöveges és vektoros lekérdezések eredményeit, amelyek különböző rangsorolási függvényeket használnak, például a BM25-öt a szöveghez, a hierarchikus navigálható kisvilágot (HNSW) és a teljes K Legközelebbi szomszédokat (eKNN) a vektorokhoz. Egy RRF-algoritmus egyesíti az eredményeket. A lekérdezési válasz csak egy eredménykészletet biztosít az egyesített eredmények rangsorolásához az RRF használatával.

Hibrid lekérdezés felépítése

A hibrid keresés olyan keresési indexre támaszkodik, amely különböző adattípusok mezőit tartalmazza, beleértve az egyszerű szöveget és számokat, a térinformatikai kereséshez használt földrajzi koordinátákat, valamint a vektorokat, amelyek matematikailag egy szövegrészletet jelölnek. Az Azure AI Keresés szinte minden lekérdezési képességét használhatja vektoros lekérdezéssel, kivéve a tiszta szöveges ügyféloldali interakciókat, például az automatikus kiegészítést és a javaslatokat.

A reprezentatív hibrid lekérdezések az alábbiakhoz hasonlóan nézhetnek ki. A rövidség kedvéért a vektoros lekérdezések helyőrző értékekkel rendelkeznek.

POST https://{{searchServiceName}}.search.windows.net/indexes/hotels-vector-quickstart/docs/search?api-version=2026-04-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",
    "vectorFilterMode": "postFilter",
    "facets": [ "Address/StateProvince"], 
    "vectorQueries": [
        {
            "kind": "vector",
            "vector": [ <array of embeddings> ]
            "k": 50,
            "fields": "DescriptionVector",
            "exhaustive": true,
            "oversampling": 20
        },
        {
            "kind": "vector",
            "vector": [ <array of embeddings> ]
            "k": 50,
            "fields": "Description_frVector",
            "exhaustive": false,
            "oversampling": 10
        }
    ],
    "skip": 0,
    "top": 10,
    "queryType": "semantic",
    "queryLanguage": "en-us",
    "semanticConfiguration": "my-semantic-config"
}

Főbb pontok:

  • search egyetlen teljes szöveges keresési lekérdezést ad meg.
  • vectorQueries több vektoros lekérdezést határoz meg, amelyek több vektormezőt céloznak meg. Ha a beágyazási terület többnyelvű tartalmat tartalmaz, a vektoros lekérdezések nem találják meg az egyezést nyelvelemzők vagy fordítás nélkül. Ha szemantikai rangsorolót használ, állítsa 50-re k a bemenetek maximalizálásához.
  • select Meghatározza, hogy mely mezők jelenjenek meg az eredményekben, amelyek emberi olvasásra alkalmas szövegmezőknek kell lenniük, ha a felhasználók számára jeleníti meg őket, vagy egy nagy nyelvi modellbe (LLM) küldi őket.
  • filters megadhatja a térinformatikai keresést, illetve egyéb befogadási és kizárási kritériumokat, például azt, hogy a parkolás szerepel-e benne. A példában szereplő térinformatikai lekérdezés washingtoni tartomány 300 kilométeres körzetében található szállodákat keres. A szűrőt a lekérdezésfeldolgozás elején vagy végén alkalmazhatja. Ha szemantikai rangsorolót használ, valószínűleg az utolsó lépésként utószűrést szeretne, de tesztelje, hogy melyik viselkedés a legjobb a lekérdezésekhez.
  • A facets használható a hibrid lekérdezések során visszaadott eredmények aspektusgyűjtőinek kiszámítására.
  • queryType=semantic meghívja a szemantikai rangsorolót, és gépi olvasási megértést alkalmaz a relevánsabb keresési eredmények felszínre hozására. A szemantikai rangsorolás nem kötelező. Ha nem használja ezt a funkciót, távolítsa el a hibrid lekérdezés utolsó három sorát.

A szűrők és aspektusok az indexen belüli adatstruktúrákat célják meg, amelyek eltérnek a teljes szöveges kereséshez használt invertált indexektől és a vektorkereséshez használt vektorindexektől. Így a szűrők és a részletes műveletek végrehajtásakor a keresőmotor alkalmazhatja a működési eredményt a hibrid keresési eredményekre a válaszban.

Figyelje meg, hogy nem szerepel orderby a lekérdezésben. Az explicit rendezési rendelések felülbírálják a relevancia szerinti rangsorolt eredményeket, ezért ha hasonlóságot és BM25-relevanciát szeretne, hagyja ki a rendezést a lekérdezésben.

A lekérdezés válasza a következő JSON-hoz hasonlíthat.

{
    "@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": "Swirling Currents 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 Valley 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
            }
        }
    ]
}