Udostępnij za pośrednictwem


Zintegrowane fragmentowanie i osadzanie danych w usłudze Azure AI Search

Wektoryzacja zintegrowana to rozszerzenie potoków indeksowania i zapytań w usłudze Azure AI Search. Dodaje następujące możliwości:

  • Fragmentowanie danych podczas indeksowania
  • Konwersja tekstu na wektor podczas indeksowania
  • Konwersja tekstu na wektor podczas wykonywania zapytań

Fragmentowanie danych nie jest wymaganiem twardym, ale chyba że nieprzetworzone dokumenty są małe, fragmentowanie jest niezbędne do spełnienia wymagań wejściowych tokenu dotyczących modeli osadzania.

Konwersje wektorowe są jednokierunkowe: tekst-wektor. Nie ma konwersji wektor-tekst dla zapytań lub wyników (na przykład nie można przekonwertować wyniku wektorowego na ciąg czytelny dla człowieka).

Zintegrowane fragmentowanie i wektoryzacja danych przyspiesza opracowywanie i minimalizuje zadania konserwacji podczas pozyskiwania danych i czasu wykonywania zapytań, ponieważ istnieje mniej składników zewnętrznych do skonfigurowania i zarządzania nimi. Ta funkcja jest teraz ogólnie dostępna.

Używanie zintegrowanej wektoryzacji podczas indeksowania

W przypadku fragmentów danych i konwersji tekstu na wektory przyjmujesz zależność od następujących składników:

Używanie zintegrowanej wektoryzacji w zapytaniach

W przypadku konwersji tekstu na wektor podczas wykonywania zapytań należy podjąć zależność od tych składników:

Diagramów składników

Na poniższym diagramie przedstawiono składniki zintegrowanej wektoryzacji.

Diagram składników w zintegrowanym przepływie pracy wektoryzacji.

Przepływ pracy jest potokiem indeksatora. Indeksatory pobierają dane z obsługiwanych źródeł danych i inicjują wzbogacanie danych (lub stosowane sztuczną inteligencję), wywołując usługi Azure OpenAI lub Azure AI lub niestandardowy kod konwersji tekstu na wektor lub inne przetwarzanie.

Diagram koncentruje się na zintegrowanej wektoryzacji, ale twoje rozwiązanie nie jest ograniczone do tej listy. Możesz dodać więcej umiejętności w zakresie wzbogacania sztucznej inteligencji, utworzyć magazyn wiedzy, dodać semantyczny ranking, dodać dostrajanie istotności i inne funkcje zapytań.

Dostępność i cennik

Zintegrowana wektoryzacja jest dostępna we wszystkich regionach i warstwach. Jeśli jednak używasz umiejętności i wektoryzatorów usługi Azure OpenAI i azure AI, upewnij się, że konto wielousłowe usługi Azure AI jest dostępne w tych samych regionach co usługa Azure AI Search.

Jeśli używasz niestandardowych umiejętności i mechanizmu hostingu platformy Azure (na przykład aplikacji funkcji platformy Azure, aplikacji internetowej platformy Azure i usługi Azure Kubernetes), sprawdź stronę dostępność funkcji produktu platformy Azure według regionu.

Fragmentowanie danych (umiejętność dzielenia tekstu) jest bezpłatne i dostępne we wszystkich usługach sztucznej inteligencji platformy Azure we wszystkich regionach.

Uwaga

Niektóre starsze usługi wyszukiwania utworzone przed 1 stycznia 2019 r. są wdrażane w infrastrukturze, która nie obsługuje obciążeń wektorowych. Jeśli spróbujesz dodać pole wektora do schematu i wystąpi błąd, jest to wynik nieaktualnych usług. W takiej sytuacji należy utworzyć nową usługę wyszukiwania, aby wypróbować funkcję wektora.

Jakie scenariusze mogą obsługiwać zintegrowane wektoryzacja?

  • Podziel duże dokumenty na fragmenty, przydatne w scenariuszach wektorów i niewektorów. W przypadku wektorów fragmenty ułatwiają spełnienie ograniczeń wejściowych modeli osadzania. W przypadku scenariuszy niewektorów możesz mieć aplikację wyszukiwania w stylu czatu, w której GPT zbiera odpowiedzi z indeksowanych fragmentów. Do wyszukiwania w stylu czatu można użyć wektoryzowanych lub niewektorowych fragmentów.

  • Utwórz magazyn wektorów, w którym wszystkie pola są polami wektorów, a identyfikator dokumentu (wymagany dla indeksu wyszukiwania) jest jedynym polem ciągu. Wykonaj zapytanie względem magazynu wektorów, aby pobrać identyfikatory dokumentów, a następnie wyślij pola wektorów dokumentu do innego modelu.

  • Połącz pola wektorowe i tekstowe na potrzeby wyszukiwania hybrydowego z rankingiem semantycznym lub bez. Zintegrowana wektoryzacja upraszcza wszystkie scenariusze obsługiwane przez wyszukiwanie wektorów.

Kiedy należy używać wektoryzacji zintegrowanej

Zalecamy użycie wbudowanej obsługi wektoryzacji programu Azure AI Studio. Jeśli takie podejście nie spełnia Twoich potrzeb, możesz utworzyć indeksatory i zestawy umiejętności, które wywołują zintegrowane wektoryzacja przy użyciu interfejsów programistycznych usługi Azure AI Search.

Jak używać zintegrowanej wektoryzacji

W przypadku wektoryzacji tylko do wykonywania zapytań:

  1. Dodaj wektoryzator do indeksu. Powinien to być ten sam model osadzania używany do generowania wektorów w indeksie.
  2. Przypisz wektoryzator do profilu wektorowego, a następnie przypisz profil wektora do pola wektora.
  3. Sformułuj zapytanie wektorowe, które określa ciąg tekstowy do wektoryzacji.

Bardziej typowy scenariusz — fragmentowanie i wektoryzacja danych podczas indeksowania:

  1. Utwórz połączenie ze źródłem danych z obsługiwanym źródłem danych na potrzeby indeksowania opartego na indeksatorze.
  2. Utwórz zestaw umiejętności, który wywołuje umiejętność dzielenia tekstu na potrzeby fragmentowania i elementu AzureOpenAIEmbeddingModel lub innej umiejętności osadzania w celu wektoryzacji fragmentów.
  3. Utwórz indeks określający wektoryzator czasu zapytania i przypisz go do pól wektorowych.
  4. Utwórz indeksator , aby napędzać wszystko, od pobierania danych po wykonywanie zestawu umiejętności, przez indeksowanie. Zalecamy uruchomienie indeksatora zgodnie z harmonogramem w celu pobrania zmienionych dokumentów lub wszelkich nieodebranych dokumentów z powodu ograniczania przepustowości.

Opcjonalnie utwórz indeksy pomocnicze dla zaawansowanych scenariuszy, w których fragmentowana zawartość znajduje się w jednym indeksie i nie jest fragmentowana w innym indeksie. Indeksy fragmentowane (lub indeksy pomocnicze) są przydatne w przypadku aplikacji RAG.

Napiwek

Wypróbuj nowy kreator importowania i wektoryzacji danych w witrynie Azure Portal, aby zbadać zintegrowaną wektoryzację przed napisaniem jakiegokolwiek kodu.

Zabezpieczanie połączeń z wektoryzatorami i modelami

Jeśli architektura wymaga połączeń prywatnych, które pomijają Internet, możesz utworzyć udostępnione połączenie łącza prywatnego z modelami osadzania używanymi przez umiejętności podczas indeksowania i wektoryzatorów w czasie wykonywania zapytań.

Udostępnione łącza prywatne działają tylko w przypadku połączeń azure-to-Azure. Jeśli łączysz się z usługą OpenAI lub innym modelem zewnętrznym, połączenie musi być za pośrednictwem publicznego Internetu.

W przypadku scenariuszy wektoryzacji należy użyć następujących elementów:

  • openai_account do osadzania modeli hostowanych w zasobie usługi Azure OpenAI.

  • sites w przypadku osadzania modeli, do których uzyskuje się dostęp jako niestandardowa umiejętność lub wektoryzator niestandardowy. sites Identyfikator grupy dotyczy usług App Services i funkcji platformy Azure, których można użyć do hostowania modelu osadzania, który nie jest jednym z modeli osadzania w usłudze Azure OpenAI.

Ograniczenia

Upewnij się, że znasz limity przydziału i limity usługi Azure OpenAI dla modeli osadzania. Usługa Azure AI Search ma zasady ponawiania prób, ale jeśli limit przydziału zostanie wyczerpany, ponowna próba zakończy się niepowodzeniem.

Limity tokenów usługi Azure OpenAI na minutę są naliczane według modelu na subskrypcję. Należy pamiętać, że używasz modelu osadzania dla obciążeń zapytań i indeksowania. Jeśli to możliwe, postępuj zgodnie z najlepszymi rozwiązaniami. Mieć model osadzania dla każdego obciążenia i spróbuj wdrożyć je w różnych subskrypcjach.

W usłudze Azure AI Search pamiętaj, że istnieją limity usług według warstw i obciążeń.

Zalety wektoryzacji zintegrowanej

Oto niektóre z kluczowych zalet wektoryzacji zintegrowanej:

  • Brak oddzielnego potoku fragmentowania i wektoryzacji danych. Kod jest prostszy do pisania i konserwacji.

  • Automatyzowanie kompleksowego indeksowania. Gdy dane zmieniają się w źródle (na przykład w usłudze Azure Storage, Azure SQL lub Cosmos DB), indeksator może przenosić te aktualizacje przez cały potok, od pobierania, do dokumentowania pęknięć, poprzez opcjonalne wzbogacanie sztucznej inteligencji, fragmentowanie danych, wektoryzacja i indeksowanie.

  • Wbudowana jest logika dzielenia na partie i ponawiania prób (niekonfigurowalne). Usługa Azure AI Search ma wewnętrzne zasady ponawiania dla błędów ograniczania przepustowości, które występują z powodu maksymalnego limitu przydziału tokenów dla modelu osadzania punktu końcowego usługi Azure OpenAI. Zalecamy umieszczenie indeksatora zgodnie z harmonogramem (na przykład co 5 minut), aby indeksator mógł przetwarzać wszelkie wywołania, które zostały ograniczone przez punkt końcowy usługi Azure OpenAI pomimo zasad ponawiania prób.

  • Projekcja fragmentowanej zawartości do indeksów pomocniczych. Indeksy pomocnicze są tworzone tak, jak w przypadku każdego indeksu wyszukiwania (schematu z polami i innymi konstrukcjami), ale są one wypełniane razem z indeksem podstawowym przez indeksator. Zawartość z każdego dokumentu źródłowego przepływa do pól w indeksach podstawowych i pomocniczych podczas tego samego przebiegu indeksowania.

    Indeksy pomocnicze są przeznaczone dla aplikacji w stylu pytań i odpowiedzi lub czatu. Indeks pomocniczy zawiera szczegółowe informacje na temat bardziej szczegółowych dopasowań, ale indeks nadrzędny zawiera więcej informacji i często może generować bardziej kompletną odpowiedź. Po znalezieniu dopasowania w indeksie pomocniczym zapytanie zwraca dokument nadrzędny z indeksu podstawowego. Na przykład przy założeniu dużego pliku PDF jako dokumentu źródłowego indeks podstawowy może zawierać podstawowe informacje (tytuł, data, autor, opis), podczas gdy indeks pomocniczy zawiera fragmenty zawartości z możliwością wyszukiwania.

Następne kroki