Wektorowe bazy danych dla platformy .NET i sztucznej inteligencji
Wektorowe bazy danych są przeznaczone do przechowywania wektorów osadzania i zarządzania nimi. Osadzanie to reprezentacje liczbowe danych nieliczbowych, które zachowują znaczenie semantyczne. Słowa, dokumenty, obrazy, dźwięk i inne typy danych mogą być wektoryzowane. Za pomocą osadzania można pomóc modelowi sztucznej inteligencji zrozumieć znaczenie danych wejściowych, dzięki czemu może wykonywać porównania i przekształcenia, takie jak podsumowywanie tekstu, znajdowanie danych powiązanych kontekstowo lub tworzenie obrazów na podstawie opisów tekstu.
Na przykład można użyć wektorowej bazy danych do:
- Identyfikowanie podobnych obrazów, dokumentów i piosenek na podstawie ich zawartości, motywów, tonacji i stylów.
- Zidentyfikuj podobne produkty na podstawie ich cech, funkcji i grup użytkowników.
- Zalecanie zawartości, produktów lub usług na podstawie preferencji użytkownika.
- Zidentyfikuj najlepsze potencjalne opcje z dużej puli wyborów, aby spełnić złożone wymagania.
- Identyfikowanie anomalii danych lub fałszywych działań, które różnią się od dominujących lub normalnych wzorców.
Omówienie wyszukiwania wektorów
Bazy danych wektorów umożliwiają wyszukiwanie wektorów w celu znalezienia podobnych elementów na podstawie ich cech danych, a nie dokładnych dopasowań w polu właściwości. Wyszukiwanie wektorowe działa, analizując wektorowe reprezentacje danych utworzonych przy użyciu modelu osadzania sztucznej inteligencji, takiego jak modele osadzania usługi Azure OpenAI. Proces wyszukiwania mierzy odległość między wektorami danych a wektorem zapytania. Wektory danych, które znajdują się najbliżej wektora zapytania, to te, które są najbardziej podobne semantycznie.
Niektóre usługi, takie jak Azure Cosmos DB for MongoDB vCore , zapewniają natywne możliwości wyszukiwania wektorów danych. Inne bazy danych można ulepszyć za pomocą wyszukiwania wektorowego, indeksując przechowywane dane przy użyciu usługi, takiej jak Usługa Azure AI Search, która może skanować i indeksować dane w celu zapewnienia możliwości wyszukiwania wektorowego.
Przepływy pracy wyszukiwania wektorów przy użyciu platformy .NET i interfejsu OpenAI
Wektorowe bazy danych i ich funkcje wyszukiwania są szczególnie przydatne w przepływach pracy wzorca RAG za pomocą usługi Azure OpenAI. Ten wzorzec umożliwia rozszerzanie lub ulepszanie modelu sztucznej inteligencji dzięki dodatkowej bogatej w semantycznie wiedzy na temat danych. Typowy przepływ pracy sztucznej inteligencji korzystający z baz danych wektorów może obejmować następujące kroki:
- Utwórz osadzanie dla danych przy użyciu modelu osadzania OpenAI.
- Zapisz i zaindeksuj osadzanie w wektorowej bazie danych lub usłudze wyszukiwania.
- Przekonwertuj monity użytkownika z aplikacji na osadzanie.
- Uruchom wyszukiwanie wektorowe w danych, porównując monit użytkownika z osadzeniem bazy danych.
- Użyj modelu językowego, takiego jak GPT-35 lub GPT-4, aby utworzyć przyjazne dla użytkownika uzupełnianie z wyników wyszukiwania wektorowego.
Odwiedź samouczek Implementowanie usługi Azure OpenAI z narzędziem RAG przy użyciu wyszukiwania wektorów w aplikacji platformy .NET, aby zapoznać się z praktycznym przykładem tego przepływu.
Inne zalety wzorca RAG obejmują:
- Generuj kontekstowo odpowiednie i dokładne odpowiedzi na monity użytkownika z modeli sztucznej inteligencji.
- Pokonaj limity tokenów LLM — intensywne podnoszenie odbywa się za pośrednictwem wyszukiwania wektorów bazy danych.
- Zmniejsz koszty częstego dostrajania w przypadku zaktualizowanych danych.
Dostępne rozwiązania bazy danych wektorów
Aplikacje sztucznej inteligencji często używają baz danych i usług wektorów danych, aby poprawić trafność i zapewnić dostosowane funkcje. Wiele z tych usług zapewnia natywny zestaw SDK dla platformy .NET, a inne oferują usługę REST, z którą można nawiązać połączenie za pośrednictwem kodu niestandardowego. Semantyczne jądro udostępnia rozszerzalny model składników, który umożliwia korzystanie z różnych magazynów wektorów bez konieczności uczenia się każdego zestawu SDK.
Semantyczne jądro udostępnia łączniki dla następujących wektorowych baz danych i usług:
Zapoznaj się z dokumentacją dla każdej odpowiedniej usługi, aby odnaleźć zestaw SDK platformy .NET i obsługę interfejsu API.