Importowanie danych w Wyszukiwanie AI platformy Azure

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.

W Wyszukiwanie AI platformy Azure zapytania są wykonywane w stosunku do zawartości załadowanej do indeksu wyszukiwania , lub nad zdalnymi źródłami wiedzy , jeśli używasz pobierania agentowego.

W tym artykule opisano dwa podstawowe przepływy pracy służące do wypełniania indeksu na usłudze wyszukiwania: przepchnięcia danych do indeksu programowo lub pobrania danych przy użyciu indeksatora wyszukiwania.

Obie metody ładują dokumenty z zewnętrznego źródła danych. Chociaż można utworzyć pusty indeks, nie można wykonywać zapytań do momentu dodania zawartości.

Uwaga

Jeśli wzbogacenie sztucznej inteligencji lub zintegrowana wektoryzacja są wymaganiami rozwiązania, należy użyć modelu ściągania (indeksatorów), aby załadować indeks. Zestawy umiejętności są dołączane do indeksatorów i nie są uruchamiane niezależnie.

Przesyłanie danych do indeksu

Model wypychania danych używa interfejsów API do przesyłania dokumentów do istniejącego indeksu wyszukiwania. Dokumenty można przekazywać pojedynczo lub w partiach, maksymalnie 1000 dokumentów lub 16 MB na partię, w zależności od tego, co nastąpi wcześniej.

Najważniejsze korzyści to:

  • Brak ograniczeń dotyczących typu źródła danych. Zestaw danych musi składać się z dokumentów JSON zgodnych ze schematem indeksu, ale dane mogą pochodzić z dowolnego źródła.

  • Brak ograniczeń dotyczących częstotliwości wykonywania. Możesz wypychać zmiany do indeksu tak często, jak tylko chcesz. W przypadku aplikacji z wymaganiami dotyczącymi małych opóźnień (na przykład gdy indeks musi być zsynchronizowany z wahaniami zapasów produktów), model wypychania jest jedyną opcją.

  • Łączność i bezpieczne pobieranie dokumentów są w pełni pod kontrolą. Natomiast połączenia indeksatora są uwierzytelniane przy użyciu funkcji zabezpieczeń dostępnych w Wyszukiwanie AI platformy Azure.

Jak wypychać dane do indeksu Wyszukiwanie AI platformy Azure

Użyj następujących interfejsów API, aby załadować jeden lub wiele dokumentów do indeksu:

Nie ma obsługi wypychania danych za pośrednictwem portalu Azure.

Aby zapoznać się z wprowadzeniem do interfejsów API wypychania, zobacz:

Akcje indeksowania: przekazywanie, scalanie, mergeOrUpload, usuwanie

Można kontrolować typ akcji indeksowania dla poszczególnych dokumentów, określając, czy dokument ma zostać przekazany w całości, scalony z istniejącą zawartością dokumentu, czy usunięty.

Niezależnie od tego, czy używasz interfejsu API REST, czy zestawu SDK Azure, następujące operacje dokumentu są obsługiwane w przypadku importowania danych:

  • Prześlij, podobnie jak w "upsert", gdzie dokument jest wstawiany, jeśli jest nowy, oraz aktualizowany lub zastępowany, jeśli już istnieje. Jeśli w dokumencie brakuje wartości, których indeks wymaga, wartość pola dokumentu jest ustawiona na wartość null.

  • scalanie aktualizuje dokument, który już istnieje, i nie powiedzie się w przypadku dokumentu, którego nie można odnaleźć. Proces scalania zastępuje istniejące wartości. Z tego powodu należy sprawdzić pola kolekcji zawierające wiele wartości, takie jak pola typu Collection(Edm.String). Jeśli na przykład pole tags rozpoczyna się od wartości ["budget"] i wykonujesz scalanie z ["economy", "pool"], końcową wartością pola tags jest ["economy", "pool"]. Nie będzie ["budget", "economy", "pool"].

  • mergeOrUpload zachowuje się jak merge, jeśli dokument istnieje, i jak przesłać, jeśli dokument jest nowy.

  • Usunięcie powoduje usunięcie całego dokumentu z indeksu. Jeśli chcesz usunąć pojedyncze pole, użyj merge, ustawiając pole na null.

Ściąganie danych do indeksu

Model ściągania używa indeksatorów i przepływów pracy usługi Logic Apps łączących się z obsługiwanym źródłem danych, automatycznie przekazując dane do indeksu.

Indeksatory firmy Microsoft są dostępne dla następujących platform:

Jeśli skonfigurujesz indeksowane źródło wiedzy do agentowego pobierania, Wyszukiwanie AI platformy Azure tworzy potok indeksatora i ładuje indeks przy użyciu właściwości w źródle wiedzy.

Możesz również używać przepływów pracy usługi Logic Apps lub łączników innych firm, opracowanych i obsługiwanych przez partnerów firmy Microsoft. Aby uzyskać więcej informacji i linków, zobacz Galeria źródeł danych.

Dzięki tym zautomatyzowanym metodom łączysz indeks ze źródłem danych (zazwyczaj tabelą, widokiem, kontenerem lub równoważną strukturą) i mapujesz pola źródłowe na równoważne pola w indeksie. W czasie wykonywania zestaw wierszy jest automatycznie przekształcany w dane w formacie JSON i ładowany do określonego indeksu. Wszystkie indeksatory obsługują harmonogramy, dzięki czemu można określić częstotliwość odświeżania danych. Większość indeksatorów udostępnia śledzenie zmian, jeśli źródło danych je obsługuje. Dzięki śledzeniu zmian i usuwania istniejących dokumentów oraz rozpoznawaniu nowych dokumentów indeksatory eliminują konieczność aktywnego zarządzania danymi w indeksie.

Jak ściągnąć dane do indeksu Wyszukiwanie AI platformy Azure

Użyj następujących narzędzi i interfejsów API do indeksowania opartego na indeksatorze:

Funkcje indeksatora są uwidocznione w Azure portal, interfejsie API REST oraz .NET SDK.

Zaletą korzystania z Azure portal jest to, że Wyszukiwanie AI platformy Azure zazwyczaj może wygenerować domyślny schemat indeksu, odczytując metadane źródłowego zestawu danych.

Weryfikowanie importowania danych za pomocą Eksploratora wyszukiwania

Aby szybko wstępnie sprawdzić przesyłanie dokumentu, skorzystaj z Search explorer w portalu Azure.

Zrzut ekranu polecenia Eksploratora wyszukiwania w Azure portal.

Eksplorator umożliwia wykonywanie zapytań względem indeksu bez konieczności pisania kodu. Środowisko wyszukiwania jest oparte na ustawieniach domyślnych, takich jak prosta składnia i domyślny parametr zapytania searchMode. Wyniki są zwracane w formacie JSON, co umożliwia inspekcję całego dokumentu.

Oto przykładowe zapytanie, które można uruchomić w Eksploratorze wyszukiwania w widoku JSON. "HotelId" jest kluczem dokumentu indeksu hotels-sample. Filtr zawiera identyfikator dokumentu określonego dokumentu:

{
  "search": "*",
  "filter": "HotelId eq '50'"
}

Jeśli używasz REST, to zapytanie wyszukiwania osiąga ten sam cel.