Umożliwia wyszukiwanie danych
Jeśli chcesz utworzyć agenta, który używa własnych danych do generowania dokładnych odpowiedzi, musisz mieć możliwość wydajnego wyszukiwania danych. Podczas tworzenia agenta za pomocą rozwiązania Microsoft Foundry możesz użyć integracji z usługą Azure AI Search , aby pobrać odpowiedni kontekst w przepływie czatu.
Usługa Azure AI Search to narzędzie pobierania, które można uwzględnić podczas kompilowania aplikacji modelu językowego z przepływem monitów. Usługa Azure AI Search umożliwia korzystanie z własnych danych, indeksowanie danych i wykonywanie zapytań względem indeksu w celu pobrania potrzebnych informacji.
Korzystanie z indeksu wektorowego
Chociaż indeks oparty na tekście poprawi wydajność wyszukiwania, zazwyczaj można osiągnąć lepsze rozwiązanie do pobierania danych przy użyciu indeksu opartego na wektorach, który zawiera osadzanie reprezentujące tokeny tekstowe w źródle danych.
Osadzanie to specjalny format reprezentacji danych, za pomocą którego wyszukiwarka może łatwo znaleźć odpowiednie informacje. W szczególności osadzanie jest wektorem liczb zmiennoprzecinkowych.
Załóżmy na przykład, że masz dwa dokumenty z następującą zawartością:
- "Dzieci bawiły się radośnie w parku."
- "Dzieci szczęśliwie pobiegły po placu zabaw"."
Te dwa dokumenty zawierają teksty, które są semantycznie powiązane, mimo że używane są różne słowa. Tworząc wektorowe osadzanie tekstu w dokumentach, relacja między wyrazami w tekście może być obliczana matematycznie.
Wyobraź sobie słowa kluczowe wyodrębnione z dokumentu i wykreśline jako wektor w przestrzeni wielowymiarowej:
Odległość między wektorami można obliczyć, mierząc cosinus kąta między dwoma wektorami, znanymi również jako podobieństwo cosinusu. Innymi słowy, cosinusowe podobieństwo wylicza semantyczne podobieństwo między dokumentami a zapytaniem.
Reprezentując wyrazy i ich znaczenia za pomocą wektorów, można wyodrębnić odpowiedni kontekst ze źródła danych nawet wtedy, gdy dane są przechowywane w różnych formatach (tekst lub obraz) i językach.
Jeśli chcesz użyć wyszukiwania wektorowego do przeszukiwania danych, musisz utworzyć osadzanie podczas tworzenia indeksu wyszukiwania. Aby utworzyć osadzanie dla indeksu wyszukiwania, możesz użyć modelu osadzania usługi Azure OpenAI dostępnego w rozwiązaniu Microsoft Foundry.
Napiwek
Dowiedz się więcej na temat embeddings w Azure OpenAI w Modelach Foundry.
Tworzenie indeksu wyszukiwania
W usłudze Azure AI Search indeks wyszukiwania opisuje sposób organizowania zawartości, aby była możliwa do przeszukania. Wyobraź sobie bibliotekę zawierającą wiele książek. Chcesz mieć możliwość przeszukiwania biblioteki i łatwego i wydajnego pobierania odpowiedniej książki. Aby umożliwić wyszukiwanie biblioteki, należy utworzyć wykaz zawierający wszelkie istotne dane dotyczące książek, aby ułatwić znalezienie dowolnej książki. Katalog biblioteki służy jako indeks wyszukiwania.
Chociaż istnieją różne podejścia do tworzenia indeksu, integracja usługi Azure AI Search w rozwiązaniu Microsoft Foundry ułatwia tworzenie indeksu odpowiedniego dla modeli językowych. Możesz dodać dane do usługi Microsoft Foundry, po czym możesz użyć usługi Azure AI Search do utworzenia indeksu w portalu Microsoft Foundry przy użyciu modelu osadzania. Zasób indeksu jest przechowywany w usłudze Azure AI Search i odpytywany przez Microsoft Foundry, gdy jest używany w dialogu czatowym.
Sposób konfigurowania indeksu wyszukiwania zależy od posiadanych danych i kontekstu, z którego ma korzystać model językowy. Na przykład wyszukiwanie słów kluczowych umożliwia pobieranie informacji, które dokładnie pasują do zapytania wyszukiwania. Wyszukiwanie semantyczne wykonuje już o krok dalej, pobierając informacje zgodne z znaczeniem zapytania zamiast dokładnego słowa kluczowego przy użyciu modeli semantycznych. Obecnie najbardziej zaawansowaną techniką jest wyszukiwanie wektorowe, które tworzy osadzenia w celu reprezentowania twoich danych.
Napiwek
Dowiedz się więcej o wyszukiwaniu wektorów.
Wyszukiwanie indeksu
Istnieje kilka sposobów, na które można wykonywać zapytania dotyczące informacji w indeksie:
- Wyszukiwanie słów kluczowych: identyfikuje odpowiednie dokumenty lub fragmenty na podstawie określonych słów kluczowych lub terminów podanych jako dane wejściowe.
- Wyszukiwanie semantyczne: pobiera dokumenty lub fragmenty, rozumiejąc znaczenie zapytania i dopasowując je do zawartości powiązanej semantycznie, zamiast polegać wyłącznie na dokładnych dopasowaniach słów kluczowych.
- Wyszukiwanie wektorowe: używa matematycznych reprezentacji tekstu (wektorów) do znajdowania podobnych dokumentów lub fragmentów na podstawie ich semantycznego znaczenia lub kontekstu.
- Wyszukiwanie hybrydowe: łączy dowolne lub wszystkie inne techniki wyszukiwania. Zapytania są wykonywane równolegle i są zwracane w ujednoliconym zestawie wyników.
Podczas tworzenia indeksu wyszukiwania w rozwiązaniu Microsoft Foundry możesz skonfigurować indeks, który jest najbardziej odpowiedni do użycia w połączeniu z modelem językowym. Gdy wyniki wyszukiwania są używane w aplikacji generującej sztuczną inteligencję, wyszukiwanie hybrydowe daje najdokładniejsze wyniki.
Wyszukiwanie hybrydowe to kombinacja słowa kluczowego (i pełnotekstowego) oraz wyszukiwania wektorów, do którego jest opcjonalnie dodawana semantyczna klasyfikacja. Podczas tworzenia indeksu, który jest zgodny z wyszukiwaniem hybrydowym, pobrane informacje są dokładne, gdy dokładne dopasowania są dostępne (przy użyciu słów kluczowych) i nadal istotne, gdy można znaleźć tylko podobne informacje koncepcyjnie (przy użyciu wyszukiwania wektorowego).
Napiwek
Dowiedz się więcej o wyszukiwaniu hybrydowym.