Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Klasyfikację semantyczną można zastosować do zapytań tekstowych, zapytań hybrydowych i zapytań wektorowych, jeśli dokumenty wyszukiwania zawierają pola ciągów, a zapytanie wektorowe zawiera reprezentację tekstową w dokumencie wyszukiwania.
W tym artykule wyjaśniono, jak wywołać semantyczny rangator zapytań. Założono, że używasz najnowszych stabilnych lub zapoznawczych interfejsów API. Aby uzyskać pomoc dotyczącą starszych wersji, zobacz Migrowanie semantycznego kodu klasyfikacji.
Wymagania wstępne
Usługa wyszukiwania, warstwa Podstawowa lub nowsza z włączonym semantycznym rankerem.
Istniejący indeks wyszukiwania z konfiguracją semantyczną i zawartością tekstu sformatowanego.
Przejrzyj klasyfikację semantyczną, jeśli potrzebujesz wprowadzenia do funkcji.
Uwaga
Transkrypty i odpowiedzi są wyodrębniane z tekstu w dokumencie wyszukiwania. Podsystem semantyczny używa zrozumienia maszynowego do rozpoznawania zawartości o cechach podpisu lub odpowiedzi, ale nie komponuje nowych zdań ani fraz, z wyjątkiem przypadków ponownego zapisywania zapytań. Z tego powodu zawartość zawierająca wyjaśnienia lub definicje najlepiej sprawdza się w przypadku klasyfikacji semantycznej. Jeśli chcesz użyć interakcji w stylu czatu z wygenerowanymi odpowiedziami, zobacz Pobieranie rozszerzonej generacji (RAG).
Wybieranie klienta
Aby utworzyć zapytanie korzystające z klasyfikacji semantycznej, można użyć dowolnego z następujących narzędzi i zestawów SDK:
- Portal Azure, korzystając z projektanta indeksów, aby dodać konfigurację semantyczną.
- Program Visual Studio Code z klientem REST
- Zestaw Azure SDK dla platformy .NET
- Zestaw Azure SDK dla środowiska Python
- Zestaw Azure SDK dla języka Java
- Azure SDK dla JavaScript
Unikaj funkcji pomijających ocenianie istotności
Kilka możliwości zapytań pomija ocenianie istotności, co sprawia, że są one niezgodne z klasyfikacją semantyczną. Jeśli logika zapytań zawiera następujące funkcje, nie można semantycznie sklasyfikować wyników:
Zapytanie z
search=*
pustym ciągiem wyszukiwania, lub czystym filtrowym zapytaniem, nie będzie działać, ponieważ nie ma nic do mierzenia istotności semantycznej, w związku z tym wyniki wyszukiwania są zerowe. Zapytanie musi podać terminy lub frazy, które można ocenić podczas przetwarzania, i tworzy dokumenty wyszukiwania, które są oceniane pod kątem istotności. Wyniki oceny to dane wejściowe klasyfikatora semantycznego.Sortowanie (klauzule orderBy) dla określonych pól zastępuje wyniki wyszukiwania i wynik semantyczny. Biorąc pod uwagę, że semantyczny wynik ma dostarczyć klasyfikację, dodanie klauzuli orderby powoduje błąd HTTP 400, jeśli zastosujesz semantyczny ranking dla uporządkowanych wyników.
Konfigurowanie zapytania
Domyślnie zapytania nie używają klasyfikacji semantycznej. Aby użyć klasyfikacji semantycznej, można użyć dwóch różnych parametrów. Każdy parametr obsługuje inny zestaw scenariuszy.
Zapytania semantyczne, niezależnie od tego, czy są określone za pomocą search
oraz queryType
, czy za pośrednictwem semanticQuery
, muszą być w zwykłym tekście i nie mogą być puste. Puste zapytania nie powodują zastosowania klasyfikacji semantycznej do wyników.
Parametr semantycznego rangatora | Wyszukiwanie zwykłego tekstu | Prosta składnia wyszukiwania tekstu | Składnia wyszukiwania pełnotekstowego | Wyszukiwanie wektorowe | Wyszukiwanie hybrydowe | Semantyczne odpowiedzi i podpisy |
---|---|---|---|---|---|---|
queryType-semantic
1 |
✅ | ❌ | ❌ | ❌ | ✅ | ✅ |
semanticQuery="<your plain text query>"
2 |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
1queryType=semantic
nie może obsługiwać jawnych simple
lub full
wartości, ponieważ queryType
parametr jest używany dla elementu semantic
. Skuteczne zachowania zapytań są wartościami domyślnymi prostego analizatora.
2 Parametr semanticQuery
może być używany dla wszystkich typów zapytań. Jednak nie jest on obsługiwany w Eksploratorze wyszukiwania portalu Azure.
Niezależnie od wybranego parametru, indeks powinien zawierać pola tekstowe z bogatą zawartością semantyczną oraz konfiguracją semantyczną.
Eksplorator wyszukiwania zawiera opcje klasyfikacji semantycznej. Pamiętaj, że nie można ustawić parametru semanticQuery
w witrynie Azure Portal.
Zaloguj się w witrynie Azure Portal.
Otwórz indeks wyszukiwania i wybierz Eksplorator wyszukiwania.
Wybierz pozycję Opcje zapytania. Jeśli konfiguracja semantyczna została już zdefiniowana, jest ona domyślnie wybrana. Jeśli go nie masz, utwórz konfigurację semantyczną dla indeksu.
Wprowadź zapytanie, takie jak "zabytkowy hotel z dobrym jedzeniem", a następnie wybierz pozycję Wyszukaj.
Alternatywnie wybierz widok JSON i wklej definicje do edytora zapytań. Portal Azure nie obsługuje używania
semanticQuery
, dlatego wymagane jest ustawieniequeryType
"semantic"
:Przykładowy kod JSON służący do ustawiania typu zapytania na semantyczny, który można wkleić do widoku:
{ "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" }
Ocenianie odpowiedzi
Tylko 50 pierwszych dopasowań z początkowych wyników może zostać semantycznie uszeregowanych. Podobnie jak w przypadku wszystkich zapytań odpowiedź składa się ze wszystkich pól oznaczonych jako możliwe do pobrania lub tylko tych pól wymienionych w parametrze select
. Odpowiedź zawiera oryginalny wynik istotności i może również zawierać ilość lub wyniki grupowe, w zależności od sposobu, w jaki sformułowałeś żądanie.
W klasyfikacji semantycznej odpowiedź ma więcej elementów: nowy semantycznie sklasyfikowany wynik istotności, opcjonalny podpis w postaci zwykłego tekstu i z wyróżnieniami oraz opcjonalna odpowiedź. Jeśli wyniki nie zawierają tych dodatkowych elementów, zapytanie może zostać nieprawidłowo skonfigurowane. W pierwszym kroku rozwiązywania problemu sprawdź konfigurację semantyczną, aby upewnić się, że jest ona określona zarówno w definicji indeksu, jak i zapytaniu.
W aplikacji klienckiej można utworzyć strukturę strony wyszukiwania, aby dołączyć podpis jako opis dopasowania, a nie całą zawartość określonego pola. Takie podejście jest przydatne, gdy poszczególne pola są zbyt gęste dla strony wyników wyszukiwania.
Odpowiedź na powyższe przykładowe zapytanie ("ciekawy hotel z restauracją na miejscu i przytulny lobby lub wspólny obszar") zwraca trzy odpowiedzi ("answers": "extractive|count-e"
). Podpisy są zwracane, ponieważ właściwość "captions" jest ustawiona i zawiera tekst zwykły oraz wyróżnione wersje. Jeśli nie można określić odpowiedzi, zostanie pominięta w odpowiedzi. W przypadku zwięzłości w tym przykładzie przedstawiono tylko trzy odpowiedzi i trzy najwyższe wyniki oceniania z zapytania.
{
"@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"
},
. . .
]
}
Oczekiwane obciążenia
W przypadku klasyfikacji semantycznej należy oczekiwać, że usługa wyszukiwania będzie obsługiwać maksymalnie 10 współbieżnych zapytań na replikę.
Usługa ogranicza żądania semantycznego rankingu, jeśli ich wolumen jest zbyt wysoki. Komunikat o błędzie zawierający te frazy wskazuje, że usługa osiągnęła pełną pojemność dla rankingu semantycznego.
Error in search query: Operation returned an invalid status 'Partial Content'`
@search.semanticPartialResponseReason`
CapacityOverloaded
Jeśli przewidujesz spójne wymagania dotyczące przepływności w pobliżu, na poziomie lub wyższym niż na tym poziomie, utwórz bilet pomocy technicznej, abyśmy mogli aprowizować obciążenie.
Następne kroki
Klasyfikacja semantyczna może być używana w zapytaniach hybrydowych, które łączą wyszukiwanie słów kluczowych i wyszukiwanie wektorów w jednym żądaniu i ujednoliconą odpowiedź.