Notatka
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.
Uwaga
Wyszukiwanie AI platformy Azure jest dostępna za pośrednictwem portalu Azure, interfejsów API REST i Azure SDKs. Jest także podstawą Foundry IQ — zarządzanej warstwy wiedzy, która przekształca treści przedsiębiorstwa w bazy wiedzy wielokrotnego użytku z uwzględnieniem uprawnień dla agentów w portalu Microsoft Foundry.
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
Wyszukiwanie AI platformy Azure w dowolnym regionie, które oferuje klasyfikację semantyczną.
Istniejący indeks wyszukiwania z konfiguracją semantyczną i bogatą treścią tekstową.
Znajomość klasyfikacji semantycznej.
Uwaga
Napisy i odpowiedzi są wyodrębniane z tekstu z dokumentu 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 interakcji przypominającej czat z wygenerowanymi odpowiedziami, zobacz Agentic retrieval lub Retrieval Augmented Generation (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:
- Azure portal, korzystając z projektanta indeksu, aby dodać konfigurację semantyczną.
- Visual Studio Code z klientem REST
- Azure SDK dla .NET
- Azure SDK dla Python
- Azure SDK dla Java
- Azure SDK dla języka 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=*lub z pustym ciągiem wyszukiwania, takie jak czyste zapytanie oparte wyłącznie na filtrach, nie będzie działać, ponieważ nie ma żadnego odniesienia do oceny istotności semantycznej, w związku z czym wartości wyników 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 wynik semantyczny ma dostarczyć klasyfikację, dodanie klauzuli orderby wywołuje błąd HTTP 400, jeśli zastosujesz ranking semantyczny do uprzednio 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 formatów zapytań.
Wszystkie zapytania semantyczne, niezależnie od tego, czy są określone przez search oraz queryType, czy za pośrednictwem semanticQuery, muszą być w zwykłym tekście i nie mogą być puste. Jak widać w poniższej tabeli, queryType-semantic parametr obsługuje podzestaw formatów zapytań.
| Parametr | 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ń. Nie jest to jednak obsługiwane w portalu Azure Search Explorer.
Niezależnie od wybranego parametru indeks powinien zawierać pola tekstowe z bogatą zawartością semantyczną i konfiguracją semantyczną.
Eksplorator wyszukiwania zawiera opcje klasyfikacji semantycznej. Pamiętaj, że nie można ustawić parametru semanticQuery w portalu Azure.
Przejdź do usługi wyszukiwania w portalu Azure.
Otwórz indeks wyszukiwania i wybierz pozycję 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 ustawieniequeryTypena"semantic"jest wymagane:
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" }
Ocena odpowiedzi
Tylko 50 pierwszych dopasowań z początkowych wyników może być semantycznie sklasyfikowanych. 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ć liczbę lub zbiorcze wyniki, w zależności od tego, jak sformułowano żą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"). Zwracane są podpisy, ponieważ właściwość "captions" jest ustawiona z tekstem zwykłym i wyróżnionymi wersjami. 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 semantyczne żądania rankingowe, jeśli natężenie jest zbyt wysokie. ** Komunikat o błędzie zawierający te frazy wskazuje, że usługa osiągnęła maksymalną pojemność dla semantycznego porządkowania.
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 zgłoszenie do pomocy technicznej, abyśmy mogli przygotować zasoby dla Twojego obciążenia.
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ź.