Megosztás a következőn keresztül:


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

A hibrid keresés olyan teljes szöveges és vektoros lekérdezések kombinációja, amelyek olyan keresési indexen futnak, amely kereshető egyszerű szöveges tartalmat és generált beágyazásokat is tartalmaz. Lekérdezési célokra a hibrid keresés a következő:

  • Egyetlen lekérdezési kérelem, amely mindkettőt search és vectors lekérdezési paramétereket tartalmaz
  • Párhuzamos végrehajtás
  • Egyesített eredmények a lekérdezési válaszban, a kölcsönös rangsor fúzió (RRF) használatával pontozott

Ez a cikk a hibrid keresés fogalmait, előnyeit és korlátait ismerteti. Ebből a beágyazott videóból megtudhatja, hogyan járul hozzá a hibrid lekérés a kiváló minőségű csevegési stílushoz és a copilot-alkalmazásokhoz.

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

Az Azure AI Searchben a beágyazásokat tartalmazó vektormezők szöveges és numerikus mezőkkel együtt is használhatók, így párhuzamosan futó hibrid lekérdezéseket hozhat létre. A hibrid lekérdezések kihasználhatják a meglévő 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 egyetlen keresési kérelemben.

A hibrid keresés kombinálja 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 és a HNSW-t. A kölcsönös rangsor fúziós (RRF) algoritmus egyesíti az eredményeket. A lekérdezési válasz csak egy eredményhalmazt biztosít, amely az RRF használatával választja ki az egyes lekérdezések legrelevánsabb egyezéseit.

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

A hibrid keresés olyan keresési indexre van felvéve, amely különböző adattípusú mezőket tartalmaz, beleértve az egyszerű szöveget és számokat, a térinformatikai keresés geokoordinátáit, valamint egy szövegrészlet matematikai ábrázolására szolgáló vektorokat. Az Azure AI Search szinte minden lekérdezési képességét használhatja vektoros lekérdezéssel, kivéve az ügyféloldali interakciókat, például az automatikus kiegészítést és a javaslatokat.

A reprezentatív hibrid lekérdezések a következők lehetnek (figyelje meg, hogy a vektor rövidítésre van vágva):

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"
}

A legfontosabb pontok a következők:

  • search teljes szöveges keresési lekérdezést ad meg.
  • vectors vektoros lekérdezések esetén, amelyek több is lehetnek, és több vektormezőt céloznak meg. Ha a beágyazási terület többnyelvű tartalmat tartalmaz, a vektoros lekérdezések nyelvelemzők és fordítás nélkül találják meg az egyezést.
  • select Meghatározza, hogy mely mezők legyenek visszaadva az eredményekben, amelyek lehetnek emberi olvasható szövegmezők.
  • filters megadhatja a térinformatikai keresést, vagy egyéb belefoglalási és kizárási feltételeket, 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.
  • facets a hibrid lekérdezésekből visszaadott eredményekhez használható aspektusgyűjtők kiszámítására.
  • queryType=semantic meghívja a szemantikai rangsorolást, és gépi olvasási megértést alkalmaz a relevánsabb keresési eredmények felszínre hozására.

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 fordított 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 fenti lekérdezés válasza így nézhet ki:

{
    "@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
            }
        }
    ]
}

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, a szemantikai rangsor alkalmazásának lehetősége, amely javítja a kezdeti eredmények minőségét. Bizonyos forgatókönyvek – például a termékkódok lekérdezése, a speciális zsargon, a dátumok és a személyek nevei – jobban teljesíthetnek a kulcsszókereséssel, mivel pontosan azonosítják a találatokat.

A valós és a benchmark-adathalmazokon végzett teljesítménytesztek azt jelzik, hogy a szemantikai rangsorolással 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.

Lásd még

Felülmúló vektorkeresés hibrid lekéréssel és rangsorolással (Tech blog)