Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ostrzeżenie
Funkcjonalność semantycznego magazynu wektorów jądra jest dostępna w wersji zapoznawczej, a ulepszenia wymagające wprowadzenia niekompatybilnych zmian mogą nadal występować w ograniczonych okolicznościach przed wydaniem.
Kompleksowy przykład RAG z wykorzystaniem magazynów wektorowych
Ten przykład to autonomiczna aplikacja konsolowa, która demonstruje RAG przy użyciu jądra semantycznego. Przykład ma następujące cechy:
- Umożliwia wybór pomiędzy usługami czatu i osadzania
- Umożliwia wybór wektorowych baz danych
- Odczytuje zawartość co najmniej jednego pliku PDF i tworzy fragmenty dla każdej sekcji
- Generuje reprezentacje dla każdego fragmentu tekstu i aktualizuje lub dodaje je do wybranej wektorowej bazy danych.
- Rejestruje magazyn wektorów jako wtyczkę wyszukiwania tekstu za pomocą jądra
- Wywołuje wtyczkę w celu rozszerzenia wiadomości dostarczonej do modelu AI, dostarczając więcej kontekstu.
Proste pozyskiwanie danych i wyszukiwanie wektorów
Aby zapoznać się z dwoma bardzo prostymi przykładami sposobu pozyskiwania danych do magazynu wektorów i wyszukiwania wektorów, zapoznaj się z tymi dwoma przykładami, które używają magazynów wektorów Qdrant i InMemory w celu zademonstrowania ich użycia.
Wspólny kod z wieloma sklepami
Magazyny wektorowe mogą się różnić w niektórych aspektach, np. w odniesieniu do typów ich kluczy lub typów pól, które obsługują. Mimo to można napisać kod niezależny od tych różnic.
Aby zapoznać się z przykładem pozyskiwania danych, który pokazuje to, zobacz:
Przykład wyszukiwania wektorowego demonstrujący tę samą koncepcję można znaleźć w poniższych przykładach. Każdy z tych przykładów odwołuje się do tego samego kodu, a różnią się jedynie rodzajem magazynu wektorów, który tworzą do użycia z tym kodem.
- Wyszukiwanie wektorów usługi Azure AI Search z typowym kodem
- Wyszukiwanie wektorów InMemory z typowym kodem
- Wyszukiwanie wektorów Qdrant z typowym kodem
- Wyszukiwanie wektorów Redis za pomocą wspólnego kodu
Obsługa wielu wektorów w tym samym rekordzie
Abstrakcje magazynu wektorów obsługują wiele wektorów w tym samym rekordzie dla baz danych wektorów, które obsługują tę obsługę. W poniższym przykładzie pokazano, jak utworzyć kilka rekordów z wieloma wektorami i wybrać żądany wektor docelowy podczas wyszukiwania wektorowego.
Wyszukiwanie wektorowe z stronicowaniem
Podczas przeszukiwania wektorów przy użyciu abstrakcji magazynu wektorów można użyć parametrów Top i Skip do obsługi stronicowania, gdzie np. należy utworzyć usługę, która odpowiada za pomocą małego zestawu wyników na żądanie.
Ostrzeżenie
Nie wszystkie bazy danych wektorowych obsługują funkcję Skip natywnie dla wyszukiwań wektorowych, więc niektóre łączniki mogą wymagać pobrania rekordów Skip i Top oraz pomijania na poziomie klienta, aby symulować to zachowanie.
Używanie ogólnego modelu danych a użycie niestandardowego modelu danych
Można użyć abstrakcji magazynu wektorów bez definiowania modelu danych i definiowania schematu za pomocą definicji rekordu. W tym przykładzie pokazano, jak utworzyć magazyn wektorów przy użyciu modelu niestandardowego i odczytać go przy użyciu ogólnego modelu danych lub odwrotnie.
Napiwek
Aby uzyskać więcej informacji na temat korzystania z ogólnego modelu danych, zapoznaj się z tematem Używanie abstrakcji magazynu wektorów bez definiowania własnego modelu danych.
Używanie kolekcji, które zostały utworzone i pozyskane przy użyciu pakietu Langchain
W celu uzyskania dostępu do kolekcji utworzonych i pozyskanych przy użyciu innego systemu, np. Langchain, można użyć abstrakcji magazynu wektorów. Istnieje wiele metod, które można zastosować, aby współdziałanie działało poprawnie. Np.
- Tworzenie modelu danych zgodnego ze schematem magazynu używanym przez implementację Langchain.
- Używanie definicji rekordu ze specjalnymi nazwami właściwości przechowywania dla pól.
W poniższym przykładzie pokazano, jak używać tych podejść do konstruowania implementacji magazynu wektorów zgodnych ze standardem Langchain.
Dla każdego magazynu wektorów istnieje klasa fabryki, która pokazuje, jak utworzyć magazyn wektorów zgodny z Langchain. Zobacz np.
- PineconeFactory
- RedisFactory
Kompleksowa próbka RAG z Azure AI Search Vector Store
Ten przykład to zestaw dwóch skryptów, pierwszy pokazujący podstawy konfigurowania magazynu wektorów wyszukiwania sztucznej inteligencji platformy Azure, a drugi pokazujący, jak utworzyć wtyczkę i użyć jej do wykonania funkcji RAG.
- Explication modelu danych i sposobu konfigurowania usługi Azure AI Search dla tego przykładu
- Tworzenie rekordów, dodawanie wektorów i upserting rekordów w usłudze Azure AI Search
- Użyj tego samego połączenia i modelu danych, aby utworzyć funkcje niestandardowe, które następnie mogą być używane przy automatycznym wywoływaniu funkcji dla zaawansowanego RAG
Proste pozyskiwanie danych i wyszukiwanie wektorów
Mamy również przykład pokazujący podstawy tworzenia kolekcji, dodawania rekordów w celu ostatecznego wyszukiwania. Można to rozpocząć od różnych magazynów wektorów.
Proste pozyskiwanie danych i wyszukiwanie wektorów
Aby zapoznać się z prostymi przykładami sposobu pozyskiwania danych do magazynu wektorów i wyszukiwania wektorów, zapoznaj się z tymi przykładami, które korzystają z usługi Azure AI Search, JDBC z magazynami wektorów PostgreSQL, Redis i In Memory.