Szemantikai rangsorolás hozzáadása a lekérdezésekhez a Azure AI Keresés

Megjegyzés

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 szemantikai rangsorolást szöveges lekérdezésekre, hibrid lekérdezésekre és vektoros lekérdezésekre is alkalmazhatja, ha a keresési dokumentumok sztringmezőket tartalmaznak, és a vektoros lekérdezés szövegábrázolással rendelkezik a keresési dokumentumban.

Ez a cikk bemutatja, hogyan hívhatja meg a szemantikai rangsorolót a lekérdezéseken. Feltételezi, hogy a legújabb stabil vagy előzetes verziójú API-kat használja. A régebbi verziókkal kapcsolatos segítségért tekintse meg a szemantikai rangsorolási kód migrálásával kapcsolatos témakört.

Előfeltételek

Megjegyzés

A feliratok és válaszok szó szerint kinyerhetők a keresődokumentum szövegéből. A szemantikai alrendszer gépi olvasási megértéssel ismeri fel a felirat vagy válasz jellemzőivel rendelkező tartalmakat, de a lekérdezés újraírása (előzetes verzió) kivételével nem ír új mondatokat vagy kifejezéseket. Ezért a magyarázatokat vagy definíciókat tartalmazó tartalom a szemantikai rangsorolás szempontjából a legjobban működik. Ha csevegőstílusú interakcióra vágyik generált válaszokkal, nézze meg az ügynökségi lekérdezést vagy a visszakeresés által kiegészített generálást (RAG).

Ügyfél kiválasztása

Az alábbi eszközök és SDK-k bármelyikével létrehozhat egy szemantikai rangsorolást használó lekérdezést:

Kerülje a relevanciapontozást megkerülő funkciókat

Néhány lekérdezési képesség megkerüli a relevanciapontozást, ami miatt nem kompatibilisek a szemantikai rangsorolással. Ha a lekérdezési logika a következő funkciókat tartalmazza, nem rangsorolhatja az eredményeket szemantikailag:

  • Az üres keresési sztringet search=* tartalmazó vagy üres lekérdezések, például a csak szűrős lekérdezések nem működnek, mert nincs semmi a szemantikai relevancia mérésére, így a keresési pontszámok nullák. A lekérdezésnek olyan kifejezéseket vagy kifejezéseket kell megadnia, amelyek kiértékelhetők a feldolgozás során, és amelyek relevancia szempontjából pontozott keresési dokumentumokat eredményeznek. A pontozott eredmények a szemantikai rangsoroló bemenetei.

  • Az adott mezők rendezése (orderBy záradékok) felülbírálják a keresési pontszámokat és a szemantikai pontszámokat. Tekintettel arra, hogy a szemantikai pontszámnak meg kell adnia a rangsort, az orderby záradék hozzáadása HTTP 400-es hibát eredményez, ha szemantikai rangsorolást alkalmaz a rendezett eredményekre.

A lekérdezés beállítása

Alapértelmezés szerint a lekérdezések nem használnak szemantikai rangsorolást. A szemantikai rangsorolás használatához két különböző paraméter használható. Minden paraméter különböző lekérdezési formátumokat támogat.

Az összes szemantikai lekérdezésnek, akár a search plusz queryType, akár a semanticQuery révén van megadva, egyszerű szövegnek kell lennie, és nem lehet üres. Amint az alábbi táblázatból látható, a paraméter támogatja a queryType-semantic lekérdezési formátumok egy részét.

Paraméter Egyszerű szöveges keresés Egyszerű szöveges keresés szintaxisa Teljes szöveges keresési szintaxis Vektoros keresés Hibrid keresés Szemantikai válaszok és feliratok
queryType-semantic 1 ✅ ❌ ❌ ❌ ✅ ✅
semanticQuery="<your plain text query>" 2 ✅ ✅ ✅ ✅ ✅ ✅

1queryType=semantic nem támogatja az explicit simple vagy full értékeket, mert a queryType paramétert a semantic használja. Az egyszerű elemző alapértelmezett lekérdezési viselkedése az érvényes lekérdezési viselkedés.

2 A semanticQuery paraméter minden lekérdezéstípushoz használható. A Azure portálon azonban nem támogatott Search Explorer.

A választott paramétertől függetlenül az indexnek gazdag szemantikai tartalommal és szemantikai konfigurációval rendelkező szövegmezőket kell tartalmaznia.

A Keresőböngésző a szemantikai rangsorolási lehetőségeket tartalmazza. Ne feledje, hogy a Azure portálon nem állíthatja be a semanticQuery paramétert.

  1. Nyissa meg a keresőszolgáltatást a Azure portálon.

  2. Nyisson meg egy keresési indexet, és válassza a Kereséskezelő lehetőséget.

  3. Válassza a Lekérdezési beállítások lehetőséget. Ha már definiált szemantikai konfigurációt, az alapértelmezés szerint ki van választva. Ha nem rendelkezik ilyennel, hozzon létre egy szemantikai konfigurációt az indexhez.

    Képernyőkép a lekérdezési beállításokról a Kereséskezelőben.

  4. Adjon meg egy lekérdezést, például "történelmi szálloda jó ételekkel", és válassza a Keresés lehetőséget.

  5. Másik lehetőségként válassza a JSON-nézetet , és illessze be a definíciókat a lekérdezésszerkesztőbe. Az Azure portál nem támogatja a semanticQuery használatát, ezért a queryType értékét "semantic"-re kell állítani.

    Azure portálon JSON lekérdezési szintaxist megjelenítő képernyőfelvétel.

    JSON-példa a lekérdezéstípus szemantikai értékre állításához, amelyet beilleszthet a nézetbe:

    {
      "search": "funky or interesting hotel with good food on site",
      "count": true,
      "queryType": "semantic",
      "semanticConfiguration": "my-semantic-config",
      "captions": "extractive|highlight-true",
      "answers": "extractive|count-3",
      "highlightPreTag": "<strong>",
      "highlightPostTag": "</strong>",
      "select": "HotelId,HotelName,Description,Category"
    }
    

A válasz kiértékelése

A kezdeti eredmények közül csak az első 50 találat lehet szemantikailag rangsorolva. Mint minden lekérdezés esetében, a válasz az összes beolvashatóként megjelölt mezőből, vagy csak a select paraméterben felsorolt mezőkből áll. A válasz tartalmazza az eredeti relevancia pontszámot, és a kérés megfogalmazásától függően tartalmazhat számot vagy kötegelt eredményeket.

A szemantikai rangsorban a válasz több elemből áll: egy új szemantikailag rangsorolt relevanciapont, egy választható felirat egyszerű szövegben és kiemelésekkel, valamint opcionális válasz. Ha az eredmények nem tartalmazzák ezeket a további elemeket, előfordulhat, hogy a lekérdezés helytelenül van konfigurálva. A probléma elhárításának első lépéseként ellenőrizze a szemantikai konfigurációt, hogy az az indexdefinícióban és a lekérdezésben is meg legyen adva.

Egy ügyfélalkalmazásban úgy strukturálhatja a keresési oldalt, hogy egy adott mező teljes tartalma helyett egy feliratot adjon meg az egyezés leírásaként. Ez a módszer akkor hasznos, ha az egyes mezők túl sűrűk a keresési eredmények oldalához.

A fenti példalekérdezés válasza ("érdekes szálloda étteremmel a helyszínen és hangulatos előszobával vagy megosztott területtel") három választ ad vissza ("answers": "extractive|count-e"). A feliratok azért jelennek meg, mert a "captions" tulajdonság be van állítva, egyszerű szöveggel és kiemelt verziókkal. Ha egy válasz nem határozható meg, akkor a válaszból kimarad. A rövidség kedvéért ez a példa csak a három választ és a lekérdezés három legmagasabb pontszámú eredményét mutatja be.

{
  "@odata.count": 29,
  "@search.answers": [
    {
      "key": "24",
      "text": "Chic hotel near the city. High-rise hotel in downtown, within walking distance to theaters, art galleries, restaurants and shops. Visit Seattle Art Museum by day, and then head over to Benaroya Hall to catch the evening's concert performance.",
      "highlights": "Chic hotel near the city. <strong>High-rise hotel in downtown, </strong>within<strong> walking distance to </strong>theaters, art<strong> galleries, restaurants and shops.</strong> Visit Seattle Art Museum by day, and then head over to Benaroya Hall to catch the evening's concert performance.",
      "score": 0.9340000152587891
    },
    {
      "key": "40",
      "text": "Only 8 miles from Downtown. On-site bar/restaurant, Free hot breakfast buffet, Free wireless internet, All non-smoking hotel. Only 15 miles from airport.",
      "highlights": "Only 8 miles from Downtown. <strong>On-site bar/restaurant, Free hot breakfast buffet, Free wireless internet, </strong>All non-smoking<strong> hotel.</strong> Only 15 miles from airport.",
      "score": 0.9210000038146973
    },
    {
      "key": "38",
      "text": "Nature is Home on the beach. Explore the shore by day, and then come home to our shared living space to relax around a stone fireplace, sip something warm, and explore the library by night. Save up to 30 percent. Valid Now through the end of the year. Restrictions and blackouts may apply.",
      "highlights": "Nature is Home on the beach. Explore the shore by day, and then come home to our<strong> shared living space </strong>to relax around a stone fireplace, sip something warm, and explore the library by night. Save up to 30 percent. Valid Now through the end of the year. Restrictions and blackouts may apply.",
      "score": 0.9200000166893005
    }
  ],
  "value": [
    {
      "@search.score": 3.2328331,
      "@search.rerankerScore": 2.575303316116333,
      "@search.captions": [
        {
          "text": "The best of old town hospitality combined with views of the river and cool breezes off the prairie. Our penthouse suites offer views for miles and the rooftop plaza is open to all guests from sunset to 10 p.m. Enjoy a complimentary continental breakfast in the lobby, and free Wi-Fi throughout the hotel.",
          "highlights": "The best of old town hospitality combined with views of the river and cool breezes off the prairie. Our<strong> penthouse </strong>suites offer views for miles and the rooftop<strong> plaza </strong>is open to all guests from sunset to 10 p.m. Enjoy a<strong> complimentary continental breakfast in the lobby, </strong>and free Wi-Fi<strong> throughout </strong>the hotel."
        }
      ],
      "HotelId": "50",
      "HotelName": "Head Wind Resort",
      "Description": "The best of old town hospitality combined with views of the river and cool breezes off the prairie. Our penthouse suites offer views for miles and the rooftop plaza is open to all guests from sunset to 10 p.m. Enjoy a complimentary continental breakfast in the lobby, and free Wi-Fi throughout the hotel.",
      "Category": "Suite"
    },
    {
      "@search.score": 0.632956,
      "@search.rerankerScore": 2.5425150394439697,
      "@search.captions": [
        {
          "text": "Every stay starts with a warm cookie. Amenities like the Counting Sheep sleep experience, our Wake-up glorious breakfast buffet and spacious workout facilities await.",
          "highlights": "Every stay starts with a warm cookie. Amenities like the<strong> Counting Sheep sleep experience, </strong>our<strong> Wake-up glorious breakfast buffet and spacious workout facilities </strong>await."
        }
      ],
      "HotelId": "34",
      "HotelName": "Lakefront Captain Inn",
      "Description": "Every stay starts with a warm cookie. Amenities like the Counting Sheep sleep experience, our Wake-up glorious breakfast buffet and spacious workout facilities await.",
      "Category": "Budget"
    },
    {
      "@search.score": 3.7076726,
      "@search.rerankerScore": 2.4554927349090576,
      "@search.captions": [
        {
          "text": "Chic hotel near the city. High-rise hotel in downtown, within walking distance to theaters, art galleries, restaurants and shops. Visit Seattle Art Museum by day, and then head over to Benaroya Hall to catch the evening's concert performance.",
          "highlights": "Chic hotel near the city. <strong>High-rise hotel in downtown, </strong>within<strong> walking distance to </strong>theaters, art<strong> galleries, restaurants and shops.</strong> Visit Seattle Art Museum by day, and then head over to Benaroya Hall to catch the evening's concert performance."
        }
      ],
      "HotelId": "24",
      "HotelName": "Uptown Chic Hotel",
      "Description": "Chic hotel near the city. High-rise hotel in downtown, within walking distance to theaters, art galleries, restaurants and shops. Visit Seattle Art Museum by day, and then head over to Benaroya Hall to catch the evening's concert performance.",
      "Category": "Suite"
    },
   . . .
  ]
}

Várt terhelések

A szemantikai rangsoroláshoz egy keresési szolgáltatásnak replikánként legfeljebb 10 egyidejű lekérdezést kell támogatnia.

A szolgáltatás szabályozza a szemantikai rangsorolásra vonatkozó kérelmeket, ha a forgalom/mennyiség túl magas. Az alábbi kifejezéseket tartalmazó hibaüzenet azt jelzi, hogy a szolgáltatás alkalmas a szemantikai rangsorolásra:

Error in search query: Operation returned an invalid status 'Partial Content'`
@search.semanticPartialResponseReason`
CapacityOverloaded

Amennyiben következetes átviteli követelmények várhatók közel ahhoz, ezen a szinten vagy magasabb szinten, kérem küldjön egy támogatási jegyet, hogy biztosítani tudjuk az Ön számítási feladataihoz szükséges erőforrásokat.

Következő lépések

A szemantikai rangsorolás olyan hibrid lekérdezésekben használható, amelyek a kulcsszókeresést és a vektorkeresést egyetlen kérelemben és egységes válaszban egyesítik.