Szemantikai válasz visszaadása az Azure AI Searchben

Szemantikai rangsorolás és képaláírás meghívásakor igény szerint kinyerhet tartalmakat a legjobban megfelelő dokumentumokból, amelyek közvetlenül "válaszolnak" a lekérdezésre. Egy vagy több válasz is szerepelhet a válaszban, amelyet aztán megjeleníthet egy keresési oldalon az alkalmazás felhasználói élményének javítása érdekében.

A szemantikai válasz olyan szó szerinti tartalom a keresési indexben, amelyet az olvasási szövegértési modell a kérésben szereplő lekérdezésre adott válaszként felismert. Ez nem generált válasz. Ha útmutatást szeretne kapni egy csevegési stílusú felhasználói interakciós modellről, amely generatív AI-t használ a tartalmakból való válaszok megírásához, olvassa el a Bővített generáció (RAG) lekérése című témakört.

Ebben a cikkben megtudhatja, hogyan kérhet szemantikai választ, csomagolhatja ki a választ, és megtudhatja, hogy milyen tartalomjellemzők a legjobban elősegítik a kiváló minőségű válaszok előállítását.

Előfeltételek

A szemantikai lekérdezésekre vonatkozó összes előfeltétel a válaszokra is vonatkozik, beleértve a szolgáltatási szintet és a régiót is.

  • A lekérdezési logikának tartalmaznia kell a "queryType=szemantic" szemantikai lekérdezési paramétereket, valamint a "answers" paramétert. A szükséges paramétereket ebben a cikkben tárgyaljuk.

  • A felhasználó által megadott lekérdezési sztringeknek felismerhetőnek kell lenniük kérdésként (mi, hol, mikor, hogyan).

  • Az indexben lévő keresési dokumentumoknak tartalmazniuk kell egy válasz jellemzőit tartalmazó szöveget, és a szövegnek a szemantikai konfigurációban felsorolt mezők egyikében kell lennie. Ha például egy lekérdezésben "mi az a kivonattábla", ha a szemantikai konfiguráció egyik mezője sem tartalmaz olyan szakaszokat, amelyek tartalmazzák a "Kivonattáblázat ...", akkor nem valószínű, hogy választ ad vissza.

Feljegyzés

A 2021-04-30-preview verziótól kezdődően az Index létrehozása vagy frissítése (előzetes verzió) kérésekben "semanticConfiguration" kötelező megadni a bemeneti mezőket a szemantikai rangsoroláshoz.

Mi a szemantikai válasz?

A szemantikai válasz egy szemantikai lekérdezési válasz alstruktúrája. Egy keresési dokumentum egy vagy több szó szerinti szakaszából áll, amely egy kérdésnek tűnő lekérdezésre adott válaszként van megfogalmazva. A válasz visszaadásához kifejezéseket vagy mondatokat kell tartalmaznia egy olyan keresődokumentumban, amely rendelkezik a válasz nyelvi jellemzőivel, és magát a lekérdezést kérdésként kell megfogalmazni.

Az Azure AI Search egy gépi olvasási szövegértési modellt használ a legjobb válasz felismeréséhez és kiválasztásához. A modell számos lehetséges választ hoz létre a rendelkezésre álló tartalomból, és amikor elég magas megbízhatósági szintet ér el, választ javasol.

A válaszok független, legfelső szintű objektumként jelennek meg a lekérdezési válasz hasznos adataiban, amelyeket a keresési oldalakon, az oldalkeresési eredmények mentén jeleníthet meg. Szerkezetileg ez egy tömbelem a válaszban, amely szövegből, dokumentumkulcsból és megbízhatósági pontszámból áll.

REST-lekérdezés megfogalmazása a "válaszok" kifejezéshez

Szemantikai válasz visszaadásához a lekérdezésnek szemantikai "queryType", "queryLanguage""semanticConfiguration"és "answers" paraméterekkel kell rendelkeznie. Ezeknek a paramétereknek a megadása nem garantálja a választ, de a kérésnek tartalmaznia kell őket a válasz feldolgozásához.

{
    "search": "how do clouds form",
    "queryType": "semantic",
    "queryLanguage": "en-us",
    "semanticConfiguration": "my-semantic-config",
    "answers": "extractive|count-3",
    "captions": "extractive|highlight-true",
    "count": "true"
}
  • A lekérdezési sztring nem lehet null értékű, és kérdésként kell megfogalmazni.

  • "queryType" "szemantikai" értékre kell állítani.

  • "queryLanguage" A támogatott nyelvek listájának (REST API) egyik értékének kell lennie.

  • A "semanticConfiguration" függvény meghatározza, hogy mely sztringmezők biztosítanak jogkivonatokat a kinyerési modellnek. Ugyanazok a mezők is választ adnak, amelyek képaláírás termelnek. Részletekért lásd : Szemantikai konfiguráció létrehozása.

  • A "answers"paraméterszerkezet esetében a "answers": "extractive"visszaadott válaszok alapértelmezett száma egy. A válaszok count számát a fenti példában látható módon, legfeljebb 10-ig növelheti. Az, hogy több válaszra van-e szüksége, az alkalmazás felhasználói élményétől és az eredmények megjelenítésének módjától függ.

Válasz kicsomagolása a válaszból

A válaszok a "@search.answers" tömbben jelennek meg, amely először megjelenik a lekérdezési válaszban. A tömb minden válasza a következőket tartalmazza:

  • Dokumentumkulcs
  • A válasz szövege vagy tartalma egyszerű vagy formázással
  • Megbízhatósági pontszám

Ha egy válasz határozatlan, a válasz a következőként "@search.answers": []jelenik meg: . A választömböt az értéktömb követi, amely egy szemantikai lekérdezés szokásos válasza.

Tekintettel a "hogyan alakulnak a felhők" lekérdezésre, a következő példa egy választ mutat be:

{
    "@search.answers": [
        {
            "key": "4123",
            "text": "Sunlight heats the land all day, warming that moist air and causing it to rise high into the   atmosphere until it cools and condenses into water droplets. Clouds generally form where air is ascending (over land in this case),   but not where it is descending (over the river).",
            "highlights": "Sunlight heats the land all day, warming that moist air and causing it to rise high into the   atmosphere until it cools and condenses into water droplets. Clouds generally form<em> where air is ascending</em> (over land in this case),   but not where it is<em> descending</em> (over the river).",
            "score": 0.94639826
        }
    ],
    "value": [
        {
            "@search.score": 0.5479723,
            "@search.rerankerScore": 1.0321671911515296,
            "@search.captions": [
                {
                    "text": "Like all clouds, it forms when the air reaches its dew point—the temperature at which an air mass is cool enough for its water vapor to condense into liquid droplets. This false-color image shows valley fog, which is common in the Pacific Northwest of North America.",
                    "highlights": "Like all<em> clouds</em>, it<em> forms</em> when the air reaches its dew point—the temperature at    which an air mass is cool enough for its water vapor to condense into liquid droplets. This false-color image shows valley<em> fog</em>, which is common in the Pacific Northwest of North America."
                }
            ],
            "title": "Earth Atmosphere",
            "content": "Fog is essentially a cloud lying on the ground. Like all clouds, it forms when the air reaches its dew point—the temperature at  \n\nwhich an air mass is cool enough for its water vapor to condense into liquid droplets.\n\nThis false-color image shows valley fog, which is common in the Pacific Northwest of North America. On clear winter nights, the \n\nground and overlying air cool off rapidly, especially at high elevations. Cold air is denser than warm air, and it sinks down into the \n\nvalleys. The moist air in the valleys gets chilled to its dew point, and fog forms. If undisturbed by winds, such fog may persist for \n\ndays. The Terra satellite captured this image of foggy valleys northeast of Vancouver in February 2010.\n\n\n",
            "locations": [
                "Pacific Northwest",
                "North America",
                "Vancouver"
            ]
        }
    ]
}

Ha válaszokat tartalmazó keresési eredményeket tartalmazó oldalt tervez, mindenképpen kezelje azokat az eseteket, amikor a válaszok nem találhatók.

Belül @search.answers:

  • A "key" az egyezés dokumentumkulcsa vagy azonosítója. Egy dokumentumkulcsot használva a Keresési dokumentum API-val lekérheti a keresési dokumentum bármely vagy minden részét, amelyet fel szeretne venni a keresőlapra vagy egy részletoldalra.

  • A "text" és a "highlights" azonos tartalmat biztosít, mind egyszerű szövegben, mind kiemelésekkel.

    A kiemelések alapértelmezés szerint a következőképpen vannak formázva <em>, amelyet felülbírálhat a meglévő highlightPreTag és highlightPostTag paraméterekkel. Ahogy máshol is megjegyeztük, a válasz tartalma szó szerinti tartalom egy keresési dokumentumból. Az extrakciós modell egy válasz jellemzőit keresi a megfelelő tartalom megkereséséhez, de nem ír új nyelvet a válaszban.

  • A "score" egy megbízhatósági pontszám, amely tükrözi a válasz erősségét. Ha több válasz is szerepel a válaszban, ez a pontszám határozza meg a sorrendet. A leggyakoribb válaszok és a leggyakoribb képaláírás különböző keresési dokumentumokból származtathatók, ahol a felső válasz egy dokumentumból származik, a felső képaláírás pedig egy másikból, de általában ugyanazok a dokumentumok jelennek meg az egyes tömbök felső pozícióiban.

A válaszokat az "érték" tömb követi, amely mindig tartalmaz pontszámokat, képaláírás és minden olyan mezőt, amely alapértelmezés szerint lekért. Ha megadta a kiválasztási paramétert, az "érték" tömb a megadott mezőkre korlátozódik. Részletekért lásd: Szemantikai rangsorolás konfigurálása.

Tippek kiváló minőségű válaszok előállításához

A legjobb eredmény érdekében szemantikai válaszokat ad vissza a következő jellemzőkkel rendelkező dokumentum-korpuszokon:

  • A "szemanticConfiguration"-nak olyan mezőket kell tartalmaznia, amelyek elegendő szöveget tartalmaznak, amelyekben valószínűleg megtalálható a válasz. A nagyobb valószínűséggel választ tartalmazó mezőket először a "prioritizedContentFields" mezőben kell listázni. Válaszként csak a dokumentum szó szerinti szövege jelenhet meg.

  • A lekérdezési sztringek nem lehetnek null értékűek (search=*), és a sztringnek rendelkeznie kell egy kérdés jellemzőivel, például a "mi az" vagy a "hogyan", szemben a kifejezéseket vagy kifejezéseket tetszőleges sorrendben tartalmazó kulcsszókereséssel. Ha a lekérdezési sztring nem tűnik kérdésnek, akkor a rendszer kihagyja a válaszfeldolgozást, még akkor is, ha a kérés "válaszokat" ad meg lekérdezési paraméterként.

  • A szemantikai kinyerés és az összegzés korlátozza, hogy dokumentumonként hány jogkivonat elemezhető időben. Gyakorlati szempontból, ha több száz oldalba futó nagyméretű dokumentumokkal rendelkezik, először próbálja meg kisebb dokumentumokra bontani a tartalmat.

Következő lépések