Přidání sémantického řazení do dotazů ve službě Azure AI Search
Sémantické řazení můžete použít u textových dotazů, hybridních dotazů a vektorových dotazů, pokud vaše hledané dokumenty obsahují řetězcová pole a vektorový dotaz má v vyhledávacím dokumentu textovou reprezentaci .
Tento článek vysvětluje, jak vyvolat sémantický ranker u dotazů. Předpokládá se, že používáte nejnovější stabilní rozhraní API nebo rozhraní API ve verzi Preview. Nápovědu ke starším verzím najdete v tématu Migrace sémantického kódu řazení.
Požadavky
Vyhledávací služba, úroveň Basic nebo vyšší s povoleným sémantickým rankerem.
Existující index vyhledávání s sémantickou konfigurací a obsahem ve formátu RTF.
Pokud potřebujete úvod k této funkci, projděte si sémantické hodnocení .
Poznámka:
Titulky a odpovědi se extrahují doslovně z textu ve vyhledávacím dokumentu. Sémantický subsystém používá strojové čtení k rozpoznávání obsahu, který má charakteristiky titulku nebo odpovědi, ale nevytváí nové věty nebo fráze. Z tohoto důvodu je nejvhodnější obsah, který obsahuje vysvětlení nebo definice pro sémantické řazení. Pokud chcete komunikovat ve stylu chatu s vygenerovanými odpověďmi, přečtěte si téma Načítání rozšířené generace (RAG).
Volba klienta
K vytvoření dotazu, který používá sémantické řazení, můžete použít kterýkoli z následujících nástrojů a sad SDK:
- Azure Portal s použitím návrháře indexu přidejte sémantickou konfiguraci.
- Visual Studio Code s klientem REST
- Azure SDK pro .NET
- Azure SDK pro Python
- Azure SDK pro Javu
- Azure SDK pro JavaScript
Vyhněte se funkcím, které obcházejí vyhodnocování relevance
Několik možností dotazů obchází vyhodnocování relevance, což z nich dělá nekompatibilní sémantické hodnocení. Pokud logika dotazu obsahuje následující funkce, nemůžete výsledky seřadit sémanticky:
Dotaz s nebo prázdným vyhledávacím řetězcem
search=*
, jako je čistý dotaz jen pro filtr, nebude fungovat, protože neexistuje nic k měření sémantické relevance, a proto skóre hledání je nula. Dotaz musí obsahovat termíny nebo fráze, které je možné vyhodnotit během zpracování.Řazení (klauzule orderBy) u konkrétních polí přepíše skóre hledání a sémantické skóre. Vzhledem k tomu, že sémantické skóre má poskytnout pořadí, přidání klauzule orderby má za následek chybu HTTP 400, pokud použijete sémantické řazení u seřazených výsledků.
Nastavení dotazu
Ve výchozím nastavení dotazy nepoužívají sémantické řazení. K použití sémantického řazení je možné použít dva různé parametry. Každý parametr podporuje jinou sadu scénářů.
Sémantické dotazy, ať už zadané pomocí search
plus queryType
nebo prostřednictvím semanticQuery
, musí být prostý text a nemohou být prázdné. Prázdné dotazy nemají na výsledky žádné sémantické řazení.
Parametr sémantického rankeru | Hledání ve formátu prostého textu | Syntaxe jednoduchého vyhledávání textu | Syntaxe fulltextové vyhledávání | Vektorové vyhledávání | Hybridní vyhledávání | Sémantické odpovědi a titulky |
---|---|---|---|---|---|---|
queryType-semantic 1 |
✅ | ❌ | ❌ | ❌ | ✅ | ✅ |
semanticQuery="<your plain text query>" 2 |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
1 queryType=semantic
nemůže podporovat explicitní simple
hodnoty nebo full
hodnoty, protože queryType
parametr se používá pro semantic
. Efektivní chování dotazů je výchozím nastavením jednoduchého analyzátoru.
2 Parametr semanticQuery
lze použít pro všechny typy dotazů. V Průzkumníku služby Azure Portal Search se ale nepodporuje.
Bez ohledu na zvolený parametr by index měl obsahovat textová pole s bohatým sémantickým obsahem a sémantickou konfigurací.
Průzkumník služby Search obsahuje možnosti pro sémantické řazení. Vzpomeňte si, že parametr nemůžete nastavit semanticQuery
na webu Azure Portal.
Přihlaste se k portálu Azure.
Otevřete vyhledávací index a vyberte Průzkumníka služby Search.
Vyberte možnosti dotazu. Pokud jste už definovali sémantickou konfiguraci, je ve výchozím nastavení vybraná. Pokud ho nemáte, vytvořte pro svůj index sémantickou konfiguraci .
Zadejte dotaz, například "historický hotel s dobrým jídlem", a vyberte Hledat.
Alternativně vyberte zobrazení JSON a vložte definice do editoru dotazů. Azure Portal nepodporuje použití
semanticQuery
, takže je potřeba nastavit následující"semantic"
nastaveníqueryType
:Příklad JSON pro nastavení typu dotazu na sémantiku, kterou můžete vložit do zobrazení:
{ "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" }
Vyhodnocení odpovědi
Pouze prvních 50 shod z počátečních výsledků může být sémanticky seřazeno. Stejně jako u všechdotazůch select
Odpověď zahrnuje původní skóre relevance a může také obsahovat počet nebo dávkové výsledky v závislosti na tom, jak jste žádost formulovali.
V sémantickém řazení má odpověď více prvků: nové sémanticky seřazené skóre relevance, volitelný titulek ve formátu prostého textu a zvýraznění a volitelná odpověď. Pokud vaše výsledky neobsahují tyto nadbytečné prvky, může být váš dotaz nesprávně nakonfigurovaný. Jako první krok k řešení potíží zkontrolujte sémantickou konfiguraci a ujistěte se, že je zadaná v definici indexu i dotazu.
V klientské aplikaci můžete vytvořit strukturu vyhledávací stránky tak, aby obsahovala titulek jako popis shody, a ne celý obsah konkrétního pole. Tento přístup je užitečný, když jsou jednotlivá pole pro stránku výsledků hledání příliš hustá.
Odpověď na výše uvedený příklad dotazu ("zajímavý hotel s restaurací na místě a útulná lobby nebo sdílená oblast") vrátí tři odpovědi ("answers": "extractive|count-e"
). Titulky se vrátí, protože je nastavena vlastnost titulky s prostým textem a zvýrazněnými verzemi. Pokud odpověď nelze určit, je z odpovědi vynechána. V případě stručnosti ukazuje tento příklad pouze tři odpovědi a tři nejvyšší výsledky bodování z dotazu.
{
"@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"
},
. . .
]
}
Očekávané úlohy
Pro sémantické řazení byste měli očekávat, že vyhledávací služba bude podporovat až 10 souběžných dotazů na repliku.
Služba omezuje sémantické požadavky na řazení, pokud jsou svazky příliš vysoké. Chybová zpráva, která obsahuje tyto fráze, značí, že služba má kapacitu pro sémantické řazení:
Error in search query: Operation returned an invalid status 'Partial Content'`
@search.semanticPartialResponseReason`
CapacityOverloaded
Pokud očekáváte konzistentní požadavky na propustnost blízko této úrovně nebo vyšší než tato úroveň, vytvořte lístek podpory, abychom pro vaši úlohu mohli zřídit.
Další kroky
Sémantické řazení lze použít v hybridních dotazech, které kombinují vyhledávání klíčových slov a vektorové vyhledávání do jednoho požadavku a jednotné odpovědi.