Usługa Azure AI Search — często zadawane pytania

Znajdź odpowiedzi na często zadawane pytania dotyczące usługi Azure AI Search.

Ogólne

Co to jest usługa Azure AI Search?

Usługa Azure AI Search udostępnia dedykowaną wyszukiwarkę i trwały magazyn zawartości z możliwością wyszukiwania w scenariuszach wyszukiwania pełnotekstowego i wektorowego. Obejmuje również opcjonalną, zintegrowaną sztuczną inteligencję w celu wyodrębnienia większej ilości tekstu i struktury z nieprzetworzonej zawartości oraz fragmentowania i wektoryzacji zawartości na potrzeby wyszukiwania wektorowego.

Jak mogę pracować z usługą Azure AI Search?

Podstawowy przepływ pracy to tworzenie, ładowanie i wykonywanie zapytań względem indeksu. Chociaż w przypadku większości zadań można użyć witryny Azure Portal, usługa Azure AI Search ma być używana programowo, obsługując żądania z kodu klienta. Obsługa programowa jest zapewniana za pośrednictwem interfejsów API REST i bibliotek klienckich na platformie .NET, Python, Java i JavaScript SDK dla platformy Azure.

Czy "Azure Search" i "Azure Cognitive Search" i "Azure AI Search" są tym samym produktem?

Nazwa usługi Azure Search została zmieniona na Azure Cognitive Search w październiku 2019 r. w celu odzwierciedlenia rozszerzonego (jeszcze opcjonalnego) użycia umiejętności poznawczych i przetwarzania sztucznej inteligencji w operacjach usług. Nazwa usługi Azure Cognitive Search została zmieniona na Azure AI Search w październiku 2023 r., aby była zgodna z usługami Azure AI.

Jakie języki są obsługiwane?

W przypadku wektorów używane modele osadzania określają środowisko językowe.

W przypadku ciągów i liczb niewektorowych domyślny analizator używany do tokenizacji to standardowa Lucene i niezależna od języka. W przeciwnym razie obsługa języka jest wyrażana za pośrednictwem analizatorów języków, które stosują reguły językowe do zawartości przychodzącej (indeksowania) i wychodzącej (zapytań). Niektóre funkcje, takie jak pisownia i ponowne zapisywanie zapytań, są ograniczone do podzbioru języków.

Jak mogę zintegrować wyszukiwanie z moim rozwiązaniem?

Kod klienta powinien wywoływać biblioteki klienta zestawu Azure SDK lub interfejsy API REST, aby nawiązać połączenie z indeksem wyszukiwania, sformułować zapytania i obsługiwać odpowiedzi. Możesz również napisać kod, który kompiluje i odświeża indeks lub uruchamia indeksatory programowo lub według skryptu.

Czy istnieje parzystość funkcjonalna w różnych interfejsach API?

Nie zawsze. Interfejs API REST jest zawsze pierwszym elementem do zaimplementowania nowych funkcji w wersjach interfejsu API w wersji zapoznawczej. Biblioteki klienckie w zestawach SDK platformy Azure będą odbierać nowe funkcje w czasie, ale są wydawane zgodnie z własnym harmonogramem.

Mimo że interfejsy API REST są najpierw dostępne z najnowszymi funkcjami, zestawy SDK platformy Azure zapewniają większą obsługę kodowania i są zalecane w przypadku interfejsu REST, chyba że wymagana funkcja jest niedostępna.

Czy mogę wstrzymać usługę i zatrzymać rozliczenia?

Nie można wstrzymać usługi wyszukiwania. W usłudze Azure AI Search zasoby obliczeniowe są przydzielane podczas tworzenia usługi. Nie można zwolnić i odzyskać tych zasobów na żądanie.

Czy mogę uaktualnić, obniżyć jej nazwę, zmienić nazwę lub przenieść usługę?

Warstwa usług, nazwa i region są stałe przez okres istnienia usługi.

Jeśli przeprowadzam migrację usługi wyszukiwania do innej subskrypcji lub grupy zasobów, czy powinienem spodziewać się przestoju?

Tak długo, jak lista kontrolna przed przeniesieniem zasobów i upewnij się, że każdy krok został ukończony, nie powinno być żadnych przestojów.

Indeksowanie

Co oznacza "indeksowanie" w usłudze Azure AI Search?

Odnosi się do pozyskiwania, analizowania i przechowywania zawartości tekstowej i tokenów, które wypełniają indeks wyszukiwania. Indeksowanie tworzy odwrócone indeksy i inne fizyczne struktury danych, które obsługują pobieranie informacji.

Tworzy indeksy wektorów, jeśli schemat zawiera pola wektorów.

Czy mogę przenieść, utworzyć kopię zapasową i przywrócić indeksy?

Nie ma natywnej obsługi indeksów przenoszenia. Indeksy wyszukiwania są uznawane za podrzędne struktury danych, akceptując zawartość z innych źródeł danych zbierających dane operacyjne. W związku z tym nie ma wbudowanej obsługi tworzenia kopii zapasowych i przywracania indeksów, ponieważ oczekuje się, że odbudujesz indeks z danych źródłowych, jeśli go usuniesz lub chcesz go przenieść.

Jeśli jednak chcesz przenieść indeks między usługami wyszukiwania, możesz wypróbować przykładowy kod index-backup-restore w tym repozytorium przykładowym usługi Azure AI Search .NET. Istnieje również wersja języka Python do tworzenia kopii zapasowych i przywracania.

Czy mogę przywrócić indeks lub usługę po jej usunięciu?

Nie, jeśli usuniesz indeks lub usługę usługi Azure AI Search, nie można go odzyskać. Po usunięciu usługi wyszukiwania wszystkie indeksy w usłudze zostaną trwale usunięte.

Czy mogę indeksować z replik usługi SQL Database?

Jeśli używasz indeksatora wyszukiwania dla usługi Azure SQL Database, nie ma żadnych ograniczeń dotyczących używania replik podstawowych lub pomocniczych jako źródła danych podczas tworzenia indeksu od podstaw. Jednak odświeżanie indeksu przy użyciu aktualizacji przyrostowych (na podstawie zmienionych rekordów) wymaga repliki podstawowej. To wymaganie pochodzi z usługi SQL Database, która gwarantuje śledzenie zmian tylko w replikach podstawowych. Jeśli spróbujesz użyć replik pomocniczych dla obciążenia odświeżania indeksu, nie ma gwarancji, że uzyskasz wszystkie dane.

Wektory

Co to jest wyszukiwanie wektorów?

Wyszukiwanie wektorowe to technika, która znajduje najbardziej podobne dokumenty, porównując ich reprezentacje wektorów. Ponieważ celem reprezentacji wektorowej jest przechwycenie podstawowych cech elementu w formacie liczbowym, zapytania wektorowe mogą identyfikować podobną zawartość, nawet jeśli nie ma jawnych dopasowań na podstawie słów kluczowych lub tagów. Gdy użytkownik wykonuje wyszukiwanie, zapytanie jest sumowane w reprezentacji wektorowej, a wyszukiwarka wektorów identyfikuje najbardziej podobne dokumenty. Aby zwiększyć wydajność dużych baz danych, wyszukiwanie wektorów często zapewnia przybliżone najbliższe sąsiady dla wektora zapytania. Zobacz Omówienie wyszukiwania wektorów, aby zapoznać się z specyfiką oferty wektorów usługi Azure AI Search.

Czy usługa Azure AI Search obsługuje wyszukiwanie wektorów?

Usługa Azure AI Search obsługuje indeksowanie wektorów i pobieranie. Może on fragmentować i wektoryzować ciągi zapytań i zawartość, jeśli używasz zintegrowanej wektoryzacji i stosować zależność od indeksatorów i zestawów umiejętności.

Jak działa wyszukiwanie wektorów w usłudze Azure AI Search?

W przypadku wyszukiwania wektorów autonomicznych należy najpierw użyć modelu osadzania, aby przekształcić zawartość w reprezentację wektorową w przestrzeni osadzania. Następnie można podać te wektory w ładunku dokumentu do indeksu wyszukiwania na potrzeby indeksowania. Aby obsłużyć żądania wyszukiwania, należy użyć tego samego modelu osadzania, aby przekształcić zapytanie wyszukiwania w reprezentację wektorową, a wyszukiwanie wektorów znajduje najbardziej podobne wektory i zwraca odpowiednie dokumenty.

W usłudze Azure AI Search można indeksować dane wektorów jako pola w dokumentach wraz z tekstowymi i innymi typami zawartości. Istnieje wiele typów danych dla pól wektorowych.

Zapytania wektorowe mogą być wystawiane autonomicznie lub w połączeniu z innymi typami zapytań, w tym zapytaniami terminowymi i filtrami w tym samym żądaniu wyszukiwania.

Czy usługa Azure AI Search może wektoryzować moją zawartość lub zapytania?

Wbudowana wektoryzacja zintegrowana jest teraz ogólnie dostępna.

Czy moja usługa wyszukiwania obsługuje wyszukiwanie wektorów?

Większość istniejących usług obsługuje wyszukiwanie wektorów. Jeśli używasz pakietu lub interfejsu API obsługującego wyszukiwanie wektorów i tworzenie indeksu, podstawowa usługa wyszukiwania nie obsługuje wyszukiwania wektorowego i należy utworzyć nową usługę. Może się to zdarzyć w przypadku małego podzestawu usług utworzonych przed 1 stycznia 2019 r.

Czy mogę dodać wyszukiwanie wektorowe do istniejącego indeksu?

Jeśli usługa wyszukiwania obsługuje wyszukiwanie wektorowe, zarówno istniejące, jak i nowe indeksy mogą uwzględniać pola wektorowe.

Dlaczego widzę różne limity rozmiaru indeksu wektorowego między moimi nowymi usługami wyszukiwania i istniejącymi usługami wyszukiwania?

Usługa Azure AI Search wprowadziła ulepszone limity rozmiaru indeksu wektorowego na całym świecie dla nowych usług wyszukiwania, ale niektóre regiony mają ograniczenia pojemności, a niektóre regiony nie mają wymaganej infrastruktury. Nowe usługi wyszukiwania utworzone w obsługiwanych regionach powinny widzieć zwiększone limity rozmiaru indeksu wektorowego. Niestety nie można migrować istniejących usług do nowych limitów. Ponadto tylko indeksy wektorowe korzystające z raportu algorytmu Hierarchical Navigable Small World (HNSW) na temat rozmiaru indeksu wektorowego w witrynie Azure Portal. Jeśli indeks używa wyczerpującej nazwy KNN, rozmiar indeksu wektorowego jest zgłaszany jako zero, mimo że indeks zawiera wektory.

Jak mogę włączyć wyszukiwanie wektorów w indeksie wyszukiwania?

Aby włączyć wyszukiwanie wektorów w indeksie, należy:

  • Dodaj co najmniej jedno pole wektorowe do kolekcji pól.

  • Dodaj sekcję "vectorSearch" do schematu indeksu określającego konfigurację używaną przez pola wyszukiwania wektorów, w tym parametry używanego algorytmu Przybliżony najbliższy sąsiad, na przykład HNSW.

  • Użyj najnowszej stabilnej wersji2024-07-01 lub zestawu Azure SDK, aby utworzyć lub zaktualizować indeks, załadować dokumenty i wystawiać zapytania. Aby uzyskać więcej informacji, zobacz Tworzenie indeksu wektorów.

Zapytania

Gdzie odbywa się wykonywanie zapytań?

Zapytania są wykonywane za pośrednictwem pojedynczego indeksu wyszukiwania hostowanego w usłudze wyszukiwania. Nie można połączyć wielu indeksów w celu wyszukiwania zawartości w co najmniej dwóch indeksach, ale można wykonywać zapytania dotyczące indeksów o tej samej nazwie w wielu usługach wyszukiwania.

Dlaczego nie ma żadnych meczów na warunkach, które wiem, że są prawidłowe?

Najczęstszy przypadek nie jest świadomy, że każdy typ zapytania obsługuje różne zachowania wyszukiwania i poziomy analiz językowych. Wyszukiwanie pełnotekstowe, które jest dominującym obciążeniem, obejmuje fazę analizy języka, która dzieli terminy na formularze główne. Ten aspekt analizowania zapytań rzutuje szerszą siatkę na możliwe dopasowania, ponieważ tokenizowany termin pasuje do większej liczby wariantów.

Zapytania wieloznaczne, rozmyte i regularne nie są jednak analizowane jak zapytania terminów regularnych lub fraz i mogą prowadzić do słabej kompletności, jeśli zapytanie nie pasuje do analizowanej formy słowa w indeksie wyszukiwania. Aby uzyskać więcej informacji na temat analizowania i analizy zapytań, zobacz Architektura zapytań.

Dlaczego moje wyszukiwanie symboli wieloznacznych jest powolne?

Większość zapytań wyszukiwania z symbolami wieloznacznymi, takich jak prefiks, rozmyte i regex, są zastępowane wewnętrznie terminami pasującymi w indeksie wyszukiwania. To dodatkowe przetwarzanie zwiększa opóźnienie. Ponadto szerokie zapytania wyszukiwania, takie jak a* na przykład, mogą zostać przepisane z wieloma terminami, co może być powolne. W przypadku wydajnych wyszukiwań symboli wieloznacznych rozważ zdefiniowanie analizatora niestandardowego.

Czy mogę przeszukiwać wiele indeksów?

Nie, zapytanie jest zawsze ograniczone do pojedynczego indeksu.

Dlaczego wynik wyszukiwania jest stałą 1.0 dla każdego dopasowania?

Wyniki wyszukiwania są generowane dla zapytań wyszukiwania pełnotekstowego na podstawie właściwości statystycznych pasujących terminów i uporządkowanej wysokiej do niskiej w zestawie wyników. Typy zapytań, które nie są wyszukiwaniem pełnotekstowym (symbol wieloznaczny, prefiks, regex) nie są klasyfikowane według wyniku istotności. Wynika to z ustawienia fabrycznego. Stały wynik umożliwia dopasowanie znalezione za pośrednictwem rozszerzenia zapytania, które mają zostać uwzględnione w wynikach, bez wpływu na klasyfikację.

Załóżmy na przykład, że dane wejściowe "tour*" w wyszukiwaniu z symbolami wieloznacznymi generują dopasowania w "tours", "tourettes" i "tourmaline". Biorąc pod uwagę charakter tych wyników, nie ma sposobu, aby rozsądnie wywnioskować, które terminy są cenniejsze niż inne. Z tego powodu częstotliwości terminów są ignorowane podczas oceniania wyników w zapytaniach z symbolami wieloznacznymi, prefiksami i wyrażeniami regularnymi. Wyniki wyszukiwania oparte na częściowych danych wejściowych otrzymują stały wynik, aby uniknąć stronniczności w kierunku potencjalnie nieoczekiwanych dopasowań.

Zabezpieczenia

Gdzie usługa Azure AI Search przechowuje dane klientów?

Przechowuje dane w lokalizacji geograficznej (geograficznej), w której jest wdrażana usługa. Firma Microsoft może replikować dane w tym samym obszarze geograficznym w celu zapewnienia wysokiej dostępności i trwałości. Aby uzyskać więcej informacji, zobacz miejsce przechowywania danych na platformie Azure.

Czy usługa Azure AI Search wysyła dane klientów do innych usług do przetwarzania?

Tak, umiejętności i wektoryzatory tworzą wywołania wychodzące z usługi Azure AI Search do innych zasobów platformy Azure lub modeli zewnętrznych określonych do osadzania lub czatu. Wywołania tych interfejsów API zwykle zawierają nieprzetworzoną zawartość do przetworzenia lub zapytania, które są wektorowane przez model osadzania. W przypadku połączeń azure-to-Azure usługa wysyła żądania za pośrednictwem sieci wewnętrznej. Jeśli dodasz niestandardową umiejętność lub wektoryzator, indeksator wysyła zawartość do identyfikatora URI podanego w niestandardowej umiejętności za pośrednictwem sieci publicznej, chyba że skonfigurujesz udostępniony link prywatny.

Czy usługa Azure AI Search przetwarza dane klientów w innych regionach?

Przetwarzanie (wektoryzacja lub zastosowane przekształcenia sztucznej inteligencji) odbywa się w obszarze geograficznym hostujący usługi Azure AI używane przez umiejętności, aplikacje platformy Azure lub funkcje hostujące niestandardowe umiejętności albo region usługi Azure OpenAI lub Azure AI Foundry hostujący wdrożone modele. Te zasoby są określone przez Ciebie, więc możesz wybrać, czy aprowizować je w tym samym obszarze geograficznym, co usługa wyszukiwania, czy nie

W przypadku wysyłania danych do zewnętrznych (innych niż azure) modeli lub usług lokalizacja przetwarzania jest określana przez usługę zewnętrzną.

Czy mogę kontrolować dostęp do wyników wyszukiwania na podstawie tożsamości użytkownika?

Jeśli zaimplementujesz rozwiązanie, które kojarzy dokumenty z tożsamością użytkownika. Zazwyczaj użytkownicy, którzy mają uprawnienia do uruchamiania aplikacji, są również autoryzowani do wyświetlenia wszystkich wyników wyszukiwania. Usługa Azure AI Search nie ma wbudowanej obsługi uprawnień na poziomie wiersza ani na poziomie dokumentu, ale można zaimplementować filtry zabezpieczeń jako obejście. Aby uzyskać instrukcje i skrypt, zobacz Get started with the Python enterprise chat sample using RAG (Wprowadzenie do przykładu czatu dla przedsiębiorstw języka Python przy użyciu programu RAG).

Czy mogę kontrolować dostęp do operacji na podstawie tożsamości użytkownika?

Tak, można użyć autoryzacji opartej na rolach na potrzeby operacji płaszczyzny danych w zawartości.

Czy mogę użyć witryny Azure Portal do wyświetlania zawartości wyszukiwania i zarządzania nią, jeśli usługa wyszukiwania znajduje się za zaporą ip lub prywatnym punktem końcowym?

Jeśli utworzysz wyjątek sieciowy umożliwiający dostęp klienta i portalu, możesz użyć witryny Azure Portal w usłudze wyszukiwania chronionej przez sieć. Aby uzyskać więcej informacji, zobacz Nawiązywanie połączenia za pośrednictwem zapory IP lub nawiązywanie połączenia za pośrednictwem prywatnego punktu końcowego.

Następne kroki

Jeśli w tym miejscu nie udzielono odpowiedzi na twoje pytanie, możesz zapoznać się z następującymi źródłami, aby uzyskać więcej pytań i odpowiedzi.

Stack Overflow: Azure AI Search
Jak działa wyszukiwanie pełnotekstowe w usłudze Azure AI Search
Co to jest usługa Azure AI Search?