Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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.
Important
Az (előzetes verzióban) megjelölt funkciókra, képességekre vagy tulajdonságokra nem vonatkozik szolgáltatási szintű szerződés, nem ajánlott éles számítási feladatokhoz, és az általános elérhetővé válásuk előtt változhatnak vagy korlátozhatók. Az Azure AI Keresés előzetes verziójú kifejezések az összes előzetes verziós funkcióra vonatkoznak, függetlenül attól, hogy önálló vagy egy általánosan elérhető funkció része.
A lekérdezés újraírása (előzetes verzió) a felhasználó lekérdezésének hatékonyabbvá alakítása, további kifejezések hozzáadása és a keresési eredmények pontosítása. A keresési szolgáltatás elküldi a keresési lekérdezést (vagy annak egy változatát) egy olyan generatív modellnek, amely alternatív lekérdezéseket hoz létre.
A lekérdezések újraírása javítja a szemantikai rangsorolás eredményeit a felhasználói lekérdezések elírási vagy helyesírási hibáinak kijavításával, valamint a lekérdezések szinonimáival való kibővítésével.
A lekérdezés újraírásával történő keresés a következőképpen működik:
- A felhasználói lekérdezést a rendszer a
searchkérelem tulajdonságán keresztül küldi el. - A keresési szolgáltatás elküldi a keresési lekérdezést (vagy annak egy változatát) egy olyan generatív modellnek, amely alternatív lekérdezéseket hoz létre.
- A keresési szolgáltatás az eredeti lekérdezést és az újraírt lekérdezéseket használja a keresési eredmények lekéréséhez.
A lekérdezés újraírása nem kötelező funkció. A lekérdezés újraírása nélkül a keresési szolgáltatás csak az eredeti lekérdezést használja a keresési eredmények lekéréséhez.
Megjegyzés
Előfordulhat, hogy az újraírt lekérdezések nem tartalmazzák az eredeti lekérdezés összes pontos kifejezését. Ez hatással lehet a keresési eredményekre, ha a lekérdezés nagyon specifikus volt, és pontos egyezéseket igényelt az egyedi azonosítókhoz vagy termékkódokhoz.
Előfeltételek
Azure AI Keresés bármely olyan régióban, amely újraírja a lekérdezést.
Meglévő keresési index szemantikai konfigurációval és rich text tartalommal. Az útmutatóban szereplő példák a hotels-sample index használatával szemléltetik a lekérdezés újraírását.
A cikkben ismertetett utasítások követéséhez olyan webes ügyfélre van szüksége, amely támogatja a REST API-kéréseket. A cikkben szereplő példákat Visual Studio Code és a REST-ügyfél kiterjesztéssel teszteltük.
Tipp
A magyarázatokat vagy definíciókat tartalmazó tartalom a szemantikai rangsorolás szempontjából működik a legjobban.
Keresési kérelem indítása lekérdezés újraírásával
Ebben a REST API-példában a Keresési dokumentumok (előzetes verzió) használatával fogalmazhatja meg a kérést.
Illessze be a következő kérést egy webügyfélbe sablonként.
POST https://[search-service-name].search.windows.net/indexes/hotels-sample/docs/search?api-version=2026-08-01-preview { "search": "newer hotel near the water with a great restaurant", "semanticConfiguration":"en-semantic-config", "queryType":"semantic", "queryRewrites":"generative|count-5", "queryLanguage":"en-US", "debug":"queryRewrites", "top": 1 }Cserélje le
search-service-namea keresési szolgáltatás nevére.Cserélje le a
hotels-samplehelyére az index nevét, ha az eltér.Állítsa be a "keresés" értékét teljes szöveges keresési lekérdezésként. A keresési tulajdonság a lekérdezés újraírásához szükséges, hacsak nem ad meg vektoros lekérdezéseket. Ha vektoros lekérdezéseket ad meg, a "keresés" szövegnek meg kell egyeznie az
"text""vectorQueries"objektum tulajdonságával. A keresési sztring támogathatja akár az egyszerű szintaxist, akár a teljes Lucene szintaxist.Állítsa a "szemanticConfiguration" beállítást az indexbe beágyazott előre definiált szemantikai konfigurációra .
Állítsa a "queryType" értékét "szemantikai" értékre. Vagy be kell állítania a "queryType" értéket "szemantikus" értékre, vagy bele kell foglalnia egy nem létező "szemanticQuery" tulajdonságot a kérelembe. A szemantikai rangsorolás szükséges a lekérdezés újraírásához.
Állítsa a "queryRewrites" értéket "generative|count-5" értékre, hogy legfeljebb öt lekérdezési átírást kapjon. A darabszámot tetszőleges, 1 és 10 közötti értékre állíthatja.
Mivel a lekérdezés újraírását a "queryRewrites" tulajdonság beállításával kérte, a "queryLanguage" értéket a keresési szöveg nyelvére kell beállítania. A keresési szolgáltatás ugyanazt a nyelvet használja a lekérdezés újraírásához. Ebben a példában a "en-US" kifejezést használja. A támogatott területi beállítások a következők:
en-AU,en-CA,en-GB,en-IN,en-US,ar-EG,ar-JO,ar-KW,ar-MA,ar-SA,bg-BG,bn-IN,ca-ES,cs-CZ,da-DK,de-DE,el-GR,es-ES,es-MX,et-EE,eu-ES,fa-AE,fi-FI,fr-CA,fr-FR,ga-IE,gl-ES,gu-IN,he-IL,hi-IN,hr-BA,hr-HR,hu-HU,hy-AM,id-ID,is-IS,it-IT,ja-JP,kn-IN,ko-KR,lt-LT,lv-LV,ml-IN,mr-IN,ms-BN,ms-MY,nb-NO,nl-BE,nl-NL,no-NO,pa-IN,pl-PL,pt-BR,pt-PT,ro-RO,ru-RU,sk-SK,sl-SL,sr-BA,sr-ME,sr-RS,sv-SE,ta-IN,te-IN,th-TH,tr-TR,uk-UA,ur-PK,vi-VN,zh-CN,zh-TW.Állítsa a "debug" értékét "queryRewrites"-re, hogy megkapja a lekérdezés újraírásait a válaszban.
Tipp
Csak tesztelési célokra van beállítva
"debug": "queryRewrites". A jobb teljesítmény érdekében ne használjon hibakeresést éles környezetben.Állítsa a "felső" értéket 1 értékre, hogy csak a legfelső találatot adja vissza.
Küldje el a kérést a lekérdezés végrehajtására és az eredmények visszaadására.
Ezután kiértékeli a keresési eredményeket a lekérdezés újraírásával.
A válasz kiértékelése
Íme egy példa a lekérdezés újraírását tartalmazó válaszra:
"@search.debug": {
"semantic": null,
"queryRewrites": {
"text": {
"inputQuery": "newer hotel near the water with a great restaurant",
"rewrites": [
"new waterfront hotels with top-rated eateries",
"new waterfront hotels with top-rated restaurants",
"new waterfront hotels with excellent dining",
"new waterfront hotels with top-rated dining",
"new water-side hotels with top-rated restaurants"
]
},
"vectors": []
}
},
"value": [
{
"@search.score": 58.992092,
"@search.rerankerScore": 2.815633535385132,
"HotelId": "18",
"HotelName": "Ocean Water Resort & Spa",
"Description": "New Luxury Hotel for the vacation of a lifetime. Bay views from every room, location near the pier, rooftop pool, waterfront dining & more.",
"Description_fr": "Nouvel h\u00f4tel de luxe pour des vacances inoubliables. Vue sur la baie depuis chaque chambre, emplacement pr\u00e8s de la jet\u00e9e, piscine sur le toit, restaurant au bord de l'eau et plus encore.",
"Category": "Luxury",
"Tags": [
"view",
"pool",
"restaurant"
],
"ParkingIncluded": true,
"LastRenovationDate": "2020-11-14T00:00:00Z",
"Rating": 4.2,
"Location": {
"type": "Point",
"coordinates": [
-82.537735,
27.943701
],
"crs": {
"type": "name",
"properties": {
"name": "EPSG:4326"
}
}
},
//... more properties redacted for brevity
}
]
Íme néhány fontos megjegyzés:
- Mivel a "debug" tulajdonságot a "queryRewrites" értékre állítja a teszteléshez, a válasz tartalmaz egy
@search.debugobjektumot a szövegbeviteli lekérdezéssel és a lekérdezés újraírásával. - Mivel a "queryRewrites" tulajdonságot "generative|count-5" értékre állítja, a válasz legfeljebb öt újraírást tartalmaz.
- A
"inputQuery"érték az a lekérdezés, amelyet a generatív modellnek küldünk a lekérdezés újraírásához. A bemeneti lekérdezés nem mindig ugyanaz, mint a felhasználó lekérdezése"search".
Íme egy példa a lekérdezés újraírása nélküli válaszra.
"@search.debug": {
"semantic": null,
"queryRewrites": {
"text": {
"inputQuery": "",
"rewrites": []
},
"vectors": []
}
},
"value": [
{
"@search.score": 7.774868,
"@search.rerankerScore": 2.815633535385132,
"HotelId": "18",
"HotelName": "Ocean Water Resort & Spa",
"Description": "New Luxury Hotel for the vacation of a lifetime. Bay views from every room, location near the pier, rooftop pool, waterfront dining & more.",
"Description_fr": "Nouvel h\u00f4tel de luxe pour des vacances inoubliables. Vue sur la baie depuis chaque chambre, emplacement pr\u00e8s de la jet\u00e9e, piscine sur le toit, restaurant au bord de l'eau et plus encore.",
"Category": "Luxury",
"Tags": [
"view",
"pool",
"restaurant"
],
"ParkingIncluded": true,
"LastRenovationDate": "2020-11-14T00:00:00Z",
"Rating": 4.2,
"Location": {
"type": "Point",
"coordinates": [
-82.537735,
27.943701
],
"crs": {
"type": "name",
"properties": {
"name": "EPSG:4326"
}
}
},
//... more properties redacted for brevity
}
]
Vektoros lekérdezések lekérdezés újraírásával
A keresési kérelembe vektoros lekérdezéseket is belefoglalhat, így a kulcsszókeresést és a vektorkeresést egyetlen kérelemben és egységes válaszban kombinálhatja.
Íme egy példa egy olyan lekérdezésre, amely egy vektoros lekérdezést tartalmaz a lekérdezés újraírásával. Módosítsa az előző példát úgy, hogy egy vektoros lekérdezést is tartalmazzon.
- Adjon hozzá egy "vectorQueries" objektumot a kérelemhez. Ez az objektum tartalmaz egy vektoros lekérdezést, amelynek "kind" értéke "text".
- A "szöveg" érték megegyezik a "keresés" értékével. Ezeknek az értékeknek azonosnak kell lenniük ahhoz, hogy a lekérdezés újraírása működjön.
POST https://[search-service-name].search.windows.net/indexes/hotels-sample/docs/search?api-version=2026-08-01-preview
{
"search": "newer hotel near the water with a great restaurant",
"vectorQueries": [
{
"kind": "text",
"text": "newer hotel near the water with a great restaurant",
"k": 50,
"fields": "Description",
"queryRewrites": "generative|count-3"
}
],
"semanticConfiguration":"en-semantic-config",
"queryType":"semantic",
"queryRewrites":"generative|count-5",
"queryLanguage":"en-US",
"top": 1
}
A válasz a szöveges és a vektoros lekérdezés lekérdezési átírását is tartalmazza.
Lekérdezés újraírásának tesztelése hibakereséssel
Tesztelje a lekérdezés újraírásait, hogy biztosan a várt módon működjenek. A "debug": "queryRewrites" tulajdonságot állítsa be a lekérdezési kérelemben, hogy a válasz tartalmazza a lekérdezés átírásait. A beállítás "debug" tesztelési célokra nem kötelező. A jobb teljesítmény érdekében ne állítsa be ezt a beállítást éles környezetben.
Részleges válasz okai
Megfigyelheti, hogy a hibakeresési válaszban az text.rewrites és vectors tulajdonságokhoz egy üres tömb tartozik.
{
"@odata.context": "https://demo-search-svc.search.windows.net/indexes('hotels-sample')/$metadata#docs(*)",
"@search.debug": {
"semantic": null,
"queryRewrites": {
"text": {
"rewrites": []
},
"vectors": []
}
},
"@search.semanticPartialResponseReason": "Transient",
"@search.semanticQueryRewriteResultType": "OriginalQueryOnly",
//... more properties redacted for brevity
}
Az előző példában:
- A válasz tartalmaz egy
@search.semanticPartialResponseReason"Átmeneti" értékű tulajdonságot. Ez az üzenet azt jelenti, hogy legalább az egyik lekérdezés nem fejeződött be. - A válasz tartalmaz egy
@search.semanticQueryRewriteResultType"OriginalQueryOnly" értékű tulajdonságot is. Ez az üzenet azt jelenti, hogy a lekérdezés újraírása nem érhető el. A rendszer csak az eredeti lekérdezést használja a keresési eredmények lekéréséhez.
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.