Samouczek: wybieranie modeli osadzania i czatów dla funkcji RAG w usłudze Azure AI Search
Rozwiązanie RAG oparte na usłudze Azure AI Search ma zależność od osadzania modeli wektoryzacji i modeli czatów na potrzeby wyszukiwania konwersacyjnego danych.
W tym samouczku zostały wykonane następujące czynności:
- Dowiedz się, które modele w chmurze platformy Azure współpracują z wbudowaną integracją
- Dowiedz się więcej o modelach platformy Azure używanych do czatu
- Wdrażanie modeli i zbieranie informacji o modelu dla kodu
- Konfigurowanie dostępu aparatu wyszukiwania do modeli platformy Azure
- Dowiedz się więcej o niestandardowych umiejętnościach i wektoryzatorach do dołączania modeli spoza platformy Azure
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
Wymagania wstępne
Witryna Azure Portal służy do wdrażania modeli i konfigurowania przypisań ról w chmurze platformy Azure.
Rola Właściciel lub Administrator dostępu użytkowników w ramach subskrypcji platformy Azure niezbędna do tworzenia przypisań ról. W tym samouczku użyjesz co najmniej trzech zasobów platformy Azure. Połączenia są uwierzytelniane przy użyciu identyfikatora Entra firmy Microsoft, co wymaga możliwości tworzenia ról. Przypisania ról do nawiązywania połączenia z modelami są udokumentowane w tym artykule. Jeśli nie możesz tworzyć ról, możesz zamiast tego użyć kluczy interfejsu API.
Dostawca modelu, taki jak Azure OpenAI, Azure AI Vision za pośrednictwem zasobu wielousługowego usług Azure AI lub Azure AI Foundry.
W tym samouczku używamy usługi Azure OpenAI. Inni dostawcy są wymienieni, aby znać opcje zintegrowanej wektoryzacji.
Usługa Azure AI Search, warstwa Podstawowa lub nowsza udostępnia tożsamość zarządzaną używaną w przypisaniach ról.
Region udostępniony. Aby ukończyć wszystkie samouczki z tej serii, region musi obsługiwać zarówno usługę Azure AI Search, jak i dostawcę modelu. Zobacz obsługiwane regiony, aby uzyskać następujące informacje:
Usługa Azure AI Search ma obecnie ograniczoną dostępność w niektórych regionach. Aby potwierdzić stan regionu, sprawdź listę regionów usługi Azure AI Search.
Napiwek
Zapoznaj się z tym artykułem , aby uzyskać listę nakładających się regionów.
Przegląd modeli obsługujących wektoryzację wbudowaną
Zawartość wektoryzowana poprawia wyniki zapytania w rozwiązaniu RAG. Usługa Azure AI Search obsługuje wbudowaną akcję wektoryzacji w potoku indeksowania. Obsługuje również wektoryzację w czasie zapytania, konwertowanie tekstu lub obrazów na osadzanie na potrzeby wyszukiwania wektorowego. W tym kroku zidentyfikuj model osadzania, który działa dla zawartości i zapytań. Jeśli udostępniasz nieprzetworzone dane wektorowe i nieprzetworzone zapytania wektorowe lub jeśli rozwiązanie RAG nie zawiera danych wektorowych, pomiń ten krok.
Zapytania wektorowe, które zawierają krok konwersji tekstu na wektor, muszą używać tego samego modelu osadzania, który był używany podczas indeksowania. Wyszukiwarka nie zgłasza błędu, jeśli używasz różnych modeli, ale uzyskujesz słabe wyniki.
Aby spełnić wymagania dotyczące tego samego modelu, wybierz modele osadzania, do których można się odwoływać, korzystając z umiejętności podczas indeksowania i przez wektoryzatory podczas wykonywania zapytania. W poniższej tabeli wymieniono pary umiejętności i wektoryzatora. Aby zobaczyć, jak są używane modele osadzania, przejdź do sekcji Tworzenie potoku indeksowania dla kodu, który wywołuje umiejętności osadzania i pasujący wektoryzator.
Usługa Azure AI Search zapewnia obsługę umiejętności i wektoryzatora dla następujących modeli osadzania w chmurze platformy Azure.
Klient | Osadzanie modeli | Zręczność | Wektoryzator |
---|---|---|---|
Azure OpenAI | text-embedding-ada-002, osadzanie tekstu —3— duże, osadzanie tekstu — 3 małe |
AzureOpenAIEmbedding | AzureOpenAIEmbedding |
Wizja platformy Azure AI | multimodalny 4.0 1 | AzureAIVision | AzureAIVision |
Katalog modeli usługi Azure AI Foundry | Facebook-DinoV2-Image-Embeddings-ViT-Base, Facebook-DinoV2-Image-Embeddings-ViT-Giant, Cohere-embed-v3-english, Cohere-embed-v3-multilingual |
AML 2 | Katalog modeli usługi Azure AI Foundry |
1 Obsługuje wektoryzacja obrazów i tekstu.
2 Wdrożone modele w wykazie modeli są dostępne za pośrednictwem punktu końcowego AML. Używamy istniejącej umiejętności AML dla tego połączenia.
Możesz użyć innych modeli oprócz wymienionych tutaj. Aby uzyskać więcej informacji, zobacz Używanie modeli spoza platformy Azure do osadzania w tym artykule.
Uwaga
Dane wejściowe do modeli osadzania są zwykle fragmentowane. We wzorcu RAG usługi Azure AI Search fragmentowanie jest obsługiwane w potoku indeksatora, które zostało omówione w innym samouczku z tej serii.
Przeglądanie modeli używanych do generowania sztucznej inteligencji w czasie wykonywania zapytań
Usługa Azure AI Search nie ma kodu integracji dla modeli czatów, dlatego należy wybrać narzędzie LLM, które znasz i które spełnia Twoje wymagania. Możesz zmodyfikować kod zapytania, aby wypróbować różne modele bez konieczności ponownego kompilowania indeksu lub ponownego uruchamiania jakiejkolwiek części potoku indeksowania. Przejrzyj pozycję Wyszukaj i wygeneruj odpowiedzi na kod, który wywołuje model czatu.
Następujące modele są często używane w środowisku wyszukiwania czatów:
Klient | Modele rozmów |
---|---|
Azure OpenAI | GPT-35-Turbo, GPT-4, GPT-4o, GPT-4 Turbo |
Modele GPT-35-Turbo i GPT-4 są zoptymalizowane pod kątem pracy z danymi wejściowymi sformatowanymi jako konwersacja.
W tym samouczku używamy biblioteki GPT-4o. Podczas testowania okazało się, że jest mniej prawdopodobne, aby uzupełnić własne dane treningowe. Na przykład, biorąc pod uwagę zapytanie "ile ziemi jest pokryte wodą?", GPT-35-Turbo odpowiedział przy użyciu wbudowanej wiedzy ziemi, aby stwierdzić, że 71% ziemi jest pokryte wodą, mimo że dane próbki nie zapewniają tego faktu. Z kolei GPT-4o odpowiedział (poprawnie) z "Nie wiem".
Wdrażanie modeli i zbieranie informacji
Modele muszą być wdrażane i dostępne za pośrednictwem punktu końcowego. Zarówno umiejętności związane z osadzaniem, jak i wektoryzatory potrzebują liczby wymiarów i nazwy modelu.
W tej serii samouczków są używane następujące modele i dostawcy modeli:
- Osadzanie tekstu —3 — duże w usłudze Azure OpenAI na potrzeby osadzania
- GPT-4o w usłudze Azure OpenAI na potrzeby ukończenia czatu
Aby wdrożyć modele w usłudze Azure OpenAI, musisz mieć współautora openAI usług Cognitive Services lub nowszego.
Przejdź do usługi Azure AI Foundry.
Wybierz pozycję Wdrożenia w menu po lewej stronie.
Wybierz pozycję Deploy model Deploy base model (Wdróż model> podstawowy).
Wybierz pozycję text-embedding-3-large z listy rozwijanej i potwierdź zaznaczenie.
Określ nazwę wdrożenia. Zalecamy "osadzanie tekstu-3-duże".
Zaakceptuj wartości domyślne.
Wybierz Wdróż.
Powtórz poprzednie kroki dla biblioteki gpt-4o.
Zanotuj nazwy modelu i punkt końcowy. Osadzanie umiejętności i wektoryzatorów tworzy pełny punkt końcowy wewnętrznie, więc potrzebujesz tylko identyfikatora URI zasobu. Na przykład w przypadku elementu
https://MY-FAKE-ACCOUNT.openai.azure.com/openai/deployments/text-embedding-3-large/embeddings?api-version=2024-06-01
punkt końcowy, który należy podać w definicjach umiejętności i wektoryzatora, tohttps://MY-FAKE-ACCOUNT.openai.azure.com
.
Konfigurowanie dostępu aparatu wyszukiwania do modeli platformy Azure
W przypadku wykonywania potoków i zapytań w tym samouczku używany jest identyfikator Entra firmy Microsoft do uwierzytelniania i ról na potrzeby autoryzacji.
Przypisz sobie i uprawnienia tożsamości usługi wyszukiwania w usłudze Azure OpenAI. Kod tego samouczka jest uruchamiany lokalnie. Żądania do usługi Azure OpenAI pochodzą z systemu. Ponadto wyniki wyszukiwania z aparatu wyszukiwania są przekazywane do usługi Azure OpenAI. Z tych powodów zarówno Ty, jak i usługa wyszukiwania potrzebują uprawnień w usłudze Azure OpenAI.
Zaloguj się do witryny Azure Portal i znajdź usługę wyszukiwania.
Skonfiguruj usługę Azure AI Search do korzystania z tożsamości zarządzanej przez system.
Znajdź zasób usługi Azure OpenAI.
Wybierz pozycję Kontrola dostępu (Zarządzanie dostępem i tożsamościami) w menu po lewej stronie.
Wybierz pozycję Dodaj przypisanie roli.
Wybierz pozycję Użytkownik OpenAI usług Cognitive Services.
Wybierz pozycję Tożsamość zarządzana, a następnie wybierz pozycję Członkowie. Znajdź tożsamość zarządzaną przez system dla usługi wyszukiwania na liście rozwijanej.
Następnie wybierz pozycję Użytkownik, grupa lub jednostka usługi, a następnie wybierz pozycję Członkowie. Wyszukaj konto użytkownika, a następnie wybierz je z listy rozwijanej.
Upewnij się, że masz dwóch podmiotów zabezpieczeń przypisanych do roli.
Wybierz pozycję Przejrzyj i Przypisz , aby utworzyć przypisania ról.
Aby uzyskać dostęp do modeli w usłudze Azure AI Vision, przypisz użytkownika openAI usług Cognitive Services. W przypadku usługi Azure AI Foundry przypisz dewelopera usługi Azure AI.
Używanie modeli spoza platformy Azure do osadzania
Wzorzec integrowania dowolnego modelu osadzania polega na zawijeniu go w niestandardowej umiejętności i wektoryzatorze niestandardowym. Ta sekcja zawiera linki do artykułów referencyjnych. Aby zapoznać się z przykładem kodu wywołującym model spoza platformy Azure, zobacz pokaz osadzania niestandardowego.
Klient | Osadzanie modeli | Zręczność | Wektoryzator |
---|---|---|---|
Dowolne | Dowolne | umiejętność niestandardowa | wektory niestandardowe |