Samouczek: wdrażanie aplikacji internetowej do czatu dla przedsiębiorstw
Ważne
Elementy oznaczone (wersja zapoznawcza) w tym artykule są obecnie dostępne w publicznej wersji zapoznawczej. Ta wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług i nie zalecamy korzystania z niej w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą być nieobsługiwane lub ograniczone. Aby uzyskać więcej informacji, zobacz Uzupełniające warunki korzystania z wersji zapoznawczych platformy Microsoft Azure.
W tym artykule wdrożysz aplikację internetową do czatu dla przedsiębiorstw, która używa własnych danych z dużym modelem językowym w portalu Azure AI Foundry.
Źródło danych służy do uziemienia modelu z określonymi danymi. Uziemienie oznacza, że model używa danych, aby ułatwić zrozumienie kontekstu pytania. Nie zmieniasz samego wdrożonego modelu. Dane są przechowywane oddzielnie i bezpiecznie w oryginalnym źródle danych
Kroki opisane w tym samouczku są następujące:
- Skonfiguruj zasoby.
- Dodaj dane.
- Przetestuj model przy użyciu danych.
- Wdróż aplikację internetową.
Wymagania wstępne
Subskrypcja platformy Azure — utwórz bezpłatnie.
Wdrożony model czatu usługi Azure OpenAI. Ukończ przewodnik Szybki start dotyczący platformy Azure AI Foundry, aby utworzyć ten zasób, jeśli jeszcze tego nie zrobiono.
Połączenie usługa wyszukiwania z indeksem przykładowych danych produktu. Jeśli go nie masz, wykonaj kroki tworzenia i łączenia usługi wyszukiwania.
Lokalna kopia danych produktu. Repozytorium Azure-Samples/rag-data-openai-python-promptflow w witrynie GitHub zawiera przykładowe informacje o produkcie detalicznym, które są istotne dla tego scenariusza samouczka. W szczególności
product_info_11.md
plik zawiera informacje o produkcie dotyczące butów turystycznych TrailWalker, które są istotne dla tego przykładu samouczka. Pobierz przykładowe dane produktów detalicznych Contoso Trek w pliku ZIP na komputer lokalny.Dostawca zasobów Microsoft.Web zarejestrowany w wybranej subskrypcji, aby móc wdrożyć go w aplikacji internetowej. Aby uzyskać więcej informacji na temat rejestrowania dostawcy zasobów, zobacz Rejestrowanie dostawcy zasobów.
Niezbędne uprawnienia do dodawania przypisań ról w subskrypcji platformy Azure. Przyznawanie uprawnień przez przypisanie roli jest dozwolone tylko przez właściciela określonych zasobów platformy Azure.
Witryna Azure AI Foundry Portal i witryna Azure Portal
W tym samouczku wykonasz niektóre zadania w portalu Azure AI Foundry i niektóre zadania w witrynie Azure Portal.
Portal usługi Azure AI Foundry to internetowe środowisko do tworzenia, trenowania i wdrażania modeli sztucznej inteligencji. Jako deweloper jest to miejsce, w którym utworzysz i wdrożysz aplikację internetową czatu.
Witryna Azure Portal umożliwia administratorowi zarządzanie zasobami platformy Azure i monitorowanie ich. Jako administrator użyjesz portalu, aby skonfigurować ustawienia dla różnych usług platformy Azure wymaganych do uzyskania dostępu z aplikacji internetowej.
Konfigurowanie zasobów
Ważne
Musisz mieć uprawnienia niezbędne do dodawania przypisań ról w subskrypcji platformy Azure. Przyznawanie uprawnień przez przypisanie roli jest dozwolone tylko przez właściciela określonych zasobów platformy Azure. Może być konieczne zwrócenie się do właściciela subskrypcji platformy Azure (który może być administratorem IT), aby ukończyć tę sekcję.
Aby zasoby działały poprawnie w aplikacji internetowej, należy je skonfigurować przy użyciu odpowiednich uprawnień. Ta praca jest wykonywana w witrynie Azure Portal.
Aby rozpocząć, zidentyfikuj zasoby, które należy skonfigurować w portalu usługi Azure AI Foundry.
Otwórz portal usługi Azure AI Foundry i wybierz projekt użyty do wdrożenia modelu czatu usługi Azure OpenAI.
Wybierz pozycję Centrum zarządzania w okienku po lewej stronie.
Wybierz pozycję Połączone zasoby w projekcie.
Zidentyfikuj trzy zasoby, które należy skonfigurować: Azure OpenAI, Azure AI Search i Azure Blob Storage, który odpowiada twojemu obszarowi roboczemublobstore.
Napiwek
Jeśli masz wiele zasobów usługi Azure OpenAI , użyj tego, który zawiera wdrożony model czatu.
Dla każdego zasobu wybierz link, aby otworzyć szczegóły zasobu. Na stronie szczegółów wybierz nazwę zasobu, aby otworzyć zasób w witrynie Azure Portal. (W obszarze roboczymblobstore wybierz pozycję Wyświetl w witrynie Azure Portal).
Po otworzie karty przeglądarki wróć do portalu usługi Azure AI Foundry i powtórz proces dla następnego zasobu.
Po zakończeniu powinno być otwarte trzy nowe karty przeglądarki, dla usługa wyszukiwania, usług AI platformy Azure i kontenera magazynu obiektów blob. Zachowaj wszystkie trzy nowe karty otwarte, gdy przejdziesz między nimi, aby skonfigurować zasoby.
Włączanie tożsamości zarządzanej
Na karcie przeglądarki dla zasobu usługa wyszukiwania w witrynie Azure Portal włącz tożsamość zarządzaną:
- W okienku po lewej stronie w obszarze Ustawienia wybierz pozycję Tożsamość.
- Przełącz pozycję Stan na Włączone.
- Wybierz pozycję Zapisz.
Na karcie przeglądarki dla zasobu usług Azure AI w witrynie Azure Portal włącz tożsamość zarządzaną:
- W okienku po lewej stronie w obszarze Zarządzanie zasobami wybierz pozycję Tożsamość.
- Przełącz pozycję Stan na Włączone.
- Wybierz pozycję Zapisz.
Ustawianie kontroli dostępu do wyszukiwania
Na karcie przeglądarki dla zasobu usługa wyszukiwania w witrynie Azure Portal ustaw zasady dostępu interfejsu API:
- W okienku po lewej stronie w obszarze Ustawienia wybierz pozycję Klucze.
- W obszarze Kontrola dostępu do interfejsu API wybierz pozycję Oba.
- Po wyświetleniu monitu wybierz pozycję Tak , aby potwierdzić zmianę.
Przypisywanie ról
Ten wzorzec będzie powtarzany wiele razy w poniższych elementach punktowanych.
Ogólny wzorzec przypisywania kontroli dostępu opartej na rolach (RBAC) dla dowolnego zasobu to:
- Przejdź do witryny Azure Portal dla danego zasobu.
- Na lewej stronie w witrynie Azure Portal wybierz pozycję Kontrola dostępu (Zarządzanie dostępem i tożsamościami).
- Wybierz pozycję + Dodaj>Dodaj przypisanie roli.
- Wyszukaj rolę, którą chcesz przypisać, i wybierz ją. Następnie kliknij przycisk Dalej.
- Podczas przypisywania roli do siebie:
- Wybierz pozycję Użytkownik, grupa lub jednostka usługi.
- Wybierz pozycję Wybierz członków.
- Wyszukaj swoją nazwę i wybierz ją.
- Podczas przypisywania roli do innego zasobu:
- Wybierz pozycję Tożsamość zarządzana.
- Wybierz pozycję Wybierz członków.
- Użyj listy rozwijanej, aby znaleźć typ zasobu, który chcesz przypisać. Na przykład usługi Azure AI lub usługa wyszukiwania.
- Wybierz zasób z wyświetlonej listy. Może istnieć tylko jeden, ale nadal musisz go wybrać.
- Kontynuuj pracę kreatora i wybierz pozycję Przejrzyj i przypisz , aby dodać przypisanie roli.
Wykonaj następujące kroki, aby przypisać role dla zasobów konfigurowanych w tym samouczku:
Przypisz następujące role na karcie przeglądarki dla usługa wyszukiwania w witrynie Azure Portal:
- Czytnik danych indeksu wyszukiwania w tożsamości zarządzanej usług Azure AI
- Współautor usługi wyszukiwania w tożsamości zarządzanej usług Azure AI
- Współautor do siebie (aby znaleźć współautora, przejdź do karty Role administratora uprzywilejowanego u góry. Wszystkie inne role znajdują się na karcie Role funkcji zadania.
Przypisz następujące role na karcie przeglądarki dla usług Azure AI w witrynie Azure Portal:
- Współautor openAI usług Cognitive Services dla tożsamości zarządzanej usługa wyszukiwania
- Współautor do siebie.
Przypisz następujące role na karcie przeglądarki dla usługi Azure Blob Storage w witrynie Azure Portal:
- Współautor danych obiektu blob usługi Storage w tożsamości zarządzanej usług Azure AI
- Czytelnik danych obiektu blob usługi Storage do tożsamości zarządzanej usługa wyszukiwania
- Współautor do siebie
Zakończono konfigurowanie zasobów. Jeśli chcesz, możesz zamknąć karty przeglądarki witryny Azure Portal.
Dodaj dane i spróbuj ponownie użyć modelu czatu
W przewodniku Szybki start dotyczącym platformy Azure AI Foundry (jest to wymaganie wstępne dla tego samouczka) zobacz, jak model reaguje bez danych. Teraz dodaj dane do modelu, aby ułatwić uzyskanie odpowiedzi na pytania dotyczące produktów.
Do ukończenia tej sekcji potrzebna jest lokalna kopia danych produktu. Repozytorium Azure-Samples/rag-data-openai-python-promptflow w witrynie GitHub zawiera przykładowe informacje o produkcie detalicznym, które są istotne dla tego scenariusza samouczka. W szczególności product_info_11.md
plik zawiera informacje o produkcie dotyczące butów turystycznych TrailWalker, które są istotne dla tego przykładu samouczka. Pobierz przykładowe dane produktów detalicznych Contoso Trek w pliku ZIP na komputer lokalny.
Wykonaj następujące kroki, aby dodać dane na placu zabaw czatu, aby ułatwić asystentowi udzielenie odpowiedzi na pytania dotyczące produktów. Nie zmieniasz samego wdrożonego modelu. Dane są przechowywane oddzielnie i bezpiecznie w ramach subskrypcji platformy Azure.
Przejdź do projektu w usłudze Azure AI Foundry.
Wybierz pozycję Place zabaw.
Wybierz pozycję Wypróbuj plac zabaw dla czatu.
Wybierz wdrożony model czatu z listy rozwijanej Wdrożenie .
Po lewej stronie placu zabaw dla czatu wybierz pozycję Dodaj dane (WERSJA ZAPOZNAWCZA)>+ Dodaj nowe źródło danych.
Na liście rozwijanej Źródło danych wybierz pozycję Przekaż pliki.
Wybierz pozycję Przekaż>pliki, aby przeglądać pliki lokalne.
Wybierz pliki, które chcesz przekazać. Wybierz pobrane lub utworzone wcześniej pliki informacji o produkcie. Dodaj teraz wszystkie pliki. Nie będzie można dodać więcej plików w dalszej części tej samej sesji placu zabaw.
Wybierz pozycję Przekaż , aby przekazać plik na konto usługi Azure Blob Storage. Następnie kliknij przycisk Dalej.
Wybierz usługę Azure AI Search .
W polu Nazwa indeksu wektorowego wprowadź ciąg product-info i wybierz przycisk Dalej.
Na stronie Ustawienia wyszukiwania w obszarze Ustawienia wektora usuń zaznaczenie pola wyboru Dodaj wyszukiwanie wektorów do tego zasobu wyszukiwania. To ustawienie pomaga określić, jak model odpowiada na żądania. Następnie wybierz Dalej.
Uwaga
Jeśli dodasz wyszukiwanie wektorów, więcej opcji będzie dostępnych tutaj w celu uzyskania dodatkowych kosztów.
Przejrzyj ustawienia i wybierz pozycję Utwórz indeks wektora.
Na placu zabaw widać, że pozyskiwanie danych jest w toku. Ten proces może potrwać kilka minut. Przed kontynuowaniem poczekaj, aż zostanie wyświetlona nazwa źródła danych i indeksu zamiast stanu.
Teraz możesz porozmawiać z modelem, zadając to samo pytanie co wcześniej ("Ile są buty turystyczne TrailWalker"), a tym razem używa informacji z danych do konstruowania odpowiedzi. Możesz rozwinąć przycisk odwołania , aby wyświetlić dane, które zostały użyte.
Wdrażanie aplikacji internetowej
Gdy środowisko w portalu azure AI Foundry jest zadowalające, możesz wdrożyć model jako autonomiczną aplikację internetową.
Znajdowanie grupy zasobów w witrynie Azure Portal
W tym samouczku aplikacja internetowa jest wdrażana w tej samej grupie zasobów co centrum usługi Azure AI Foundry. Później skonfigurujesz uwierzytelnianie dla aplikacji internetowej w witrynie Azure Portal.
Wykonaj następujące kroki, aby przejść do grupy zasobów w witrynie Azure Portal:
Przejdź do projektu w usłudze Azure AI Foundry. Następnie wybierz pozycję Centrum zarządzania w okienku po lewej stronie.
W obszarze nagłówka Project (Projekt) wybierz pozycję Overview (Przegląd).
Wybierz nazwę grupy zasobów, aby otworzyć grupę zasobów w witrynie Azure Portal. W tym przykładzie grupa zasobów ma nazwę
rg-sdg-ai
.Teraz powinien znajdować się w witrynie Azure Portal, wyświetlając zawartość grupy zasobów, w której wdrożono centrum. Zwróć uwagę na nazwę i lokalizację grupy zasobów. Te informacje będą używane w następnej sekcji.
Pozostaw tę stronę otwartą na karcie przeglądarki. Wrócisz do niego później.
Wdrażanie aplikacji internetowej
Publikowanie tworzy usługę aplikacja systemu Azure w ramach subskrypcji. Może to wiązać się z kosztami w zależności od wybranego planu cenowego. Po zakończeniu pracy z aplikacją możesz usunąć ją z witryny Azure Portal.
Aby wdrożyć aplikację internetową:
Ważne
Aby można było wdrożyć aplikację internetową, musisz zarejestrować microsoft.web jako dostawcę zasobów.
Wykonaj kroki opisane w poprzedniej sekcji, aby dodać dane do placu zabaw. (Możesz wdrożyć aplikację internetową z własnymi danymi lub bez tych danych, ale przynajmniej potrzebujesz wdrożonego modelu zgodnie z opisem w temacie Przewodnik Szybki start dotyczący platformy Azure AI Foundry dla platformy Azure).
Wybierz pozycję Wdróż > ... jako aplikacja internetowa.
Na stronie Wdrażanie w aplikacji internetowej wprowadź następujące szczegóły:
- Nazwa: unikatowa nazwa aplikacji internetowej.
- Subskrypcja: Twoja subskrypcja platformy Azure. Jeśli nie widzisz żadnych dostępnych subskrypcji, najpierw zarejestruj Microsoft.Web jako dostawcę zasobów.
- Grupa zasobów: wybierz grupę zasobów, w której chcesz wdrożyć aplikację internetową. Użyj tej samej grupy zasobów co centrum.
- Lokalizacja: wybierz lokalizację, w której ma zostać wdrożona aplikacja internetowa. Użyj tej samej lokalizacji co centrum.
- Plan cenowy: wybierz plan cenowy dla aplikacji internetowej.
- Włącz historię czatów w aplikacji internetowej: na potrzeby samouczka pole historii czatów nie jest zaznaczone. Jeśli włączysz tę funkcję, użytkownicy mają dostęp do poszczególnych poprzednich zapytań i odpowiedzi. Aby uzyskać więcej informacji, zobacz uwagi dotyczące historii czatów.
Wybierz Wdróż.
Poczekaj na wdrożenie aplikacji, co może potrwać kilka minut.
Gdy wszystko będzie gotowe, przycisk Uruchom jest włączony na pasku narzędzi. Ale nie uruchamiaj jeszcze aplikacji i nie zamykaj strony placu zabaw czatu — wrócisz do niej później.
Konfigurowanie uwierzytelniania aplikacji internetowej
Domyślnie aplikacja internetowa jest dostępna tylko dla Ciebie. W tym samouczku dodasz uwierzytelnianie w celu ograniczenia dostępu do aplikacji do członków dzierżawy platformy Azure. Użytkownicy są proszeni o zalogowanie się przy użyciu konta Microsoft Entra w celu uzyskania dostępu do aplikacji. Jeśli wolisz, możesz wykonać podobny proces, aby dodać innego dostawcę tożsamości. Aplikacja nie używa informacji logowania użytkownika w inny sposób niż weryfikowanie, czy jest członkiem dzierżawy.
Wróć do karty przeglądarki zawierającej witrynę Azure Portal (lub otwórz ponownie witrynę Azure Portal na nowej karcie przeglądarki) i wyświetl zawartość grupy zasobów, w której wdrożono aplikację internetową (może być konieczne odświeżenie widoku aplikacji internetowej).
Wybierz zasób usługi App Service z listy zasobów w grupie zasobów.
Z zwijanego menu po lewej stronie w obszarze Ustawienia wybierz pozycję Uwierzytelnianie.
Jeśli na tej stronie zobaczysz, że firma Microsoft wyświetli dostawcę tożsamości, nic więcej nie jest potrzebne. Możesz pominąć następny krok.
Dodaj dostawcę tożsamości z następującymi ustawieniami:
- Dostawca tożsamości: wybierz pozycję Microsoft jako dostawcę tożsamości. Ustawienia domyślne na tej stronie ograniczają aplikację tylko do dzierżawy, więc nie musisz zmieniać żadnych innych elementów w tym miejscu.
- Typ dzierżawy: Pracownicy
- Rejestracja aplikacji: tworzenie nowej rejestracji aplikacji
- Nazwa: nazwa usługi aplikacji internetowej
- Obsługiwane typy kont: Bieżąca dzierżawa — pojedyncza dzierżawa
- Ograniczanie dostępu: wymaga uwierzytelniania
- Nieuwierzytelnione żądania: znaleziono przekierowanie HTTP 302 — zalecane w przypadku witryn internetowych
Używanie aplikacji sieci Web
Jesteś prawie tam. Teraz możesz przetestować aplikację internetową.
Jeśli zmieniono ustawienia, poczekaj 10 minut lub tak, aby ustawienia uwierzytelniania zaczęły obowiązywać.
Wróć do karty przeglądarki zawierającej stronę placu zabaw czatu w portalu usługi Azure AI Foundry.
Wybierz pozycję Uruchom , aby uruchomić wdrożona aplikacja internetowa. Jeśli zostanie wyświetlony monit, zaakceptuj żądanie uprawnień.
Jeśli ustawienia uwierzytelniania nie zostały jeszcze zastosowane, zamknij kartę przeglądarki dla aplikacji internetowej i wróć do placu zabaw czatu w portalu Azure AI Foundry. Następnie zaczekaj trochę dłużej i spróbuj ponownie.
W aplikacji internetowej możesz zadać to samo pytanie, co wcześniej ("Ile to buty turystyczne TrailWalker"), a tym razem używa informacji z danych do konstruowania odpowiedzi. Możesz rozwinąć przycisk odwołania , aby wyświetlić dane, które zostały użyte.
Informacje o historii czatów
Dzięki funkcji historii czatów użytkownicy mają dostęp do poszczególnych poprzednich zapytań i odpowiedzi.
Historię czatów można włączyć podczas wdrażania aplikacji internetowej. Zaznacz pole wyboru Włącz historię czatu w aplikacji internetowej.
Ważne
Włączenie historii czatów spowoduje utworzenie wystąpienia usługi Cosmos DB w grupie zasobów i naliczenie dodatkowych opłat za używany magazyn. Usunięcie aplikacji internetowej nie powoduje automatycznego usunięcia wystąpienia usługi Cosmos DB. Aby usunąć wystąpienie usługi Cosmos DB wraz ze wszystkimi przechowywanymi czatami, musisz przejść do skojarzonego zasobu w witrynie Azure Portal i usunąć go.
Po włączeniu historii czatów użytkownicy będą mogli je wyświetlać i ukrywać w prawym górnym rogu aplikacji. Gdy historia jest wyświetlana, mogą zmieniać nazwy lub usuwać konwersacje. Gdy są one rejestrowane w aplikacji, konwersacje są automatycznie uporządkowane od najnowszych do najstarszych i nazwane na podstawie pierwszego zapytania w konwersacji.
Jeśli usuniesz zasób usługi Cosmos DB, ale zachowasz włączoną opcję historii czatów w programie Studio, użytkownicy będą powiadamiani o błędzie połączenia, ale mogą nadal korzystać z aplikacji internetowej bez dostępu do historii czatów.
Aktualizowanie aplikacji internetowej
Użyj placu zabaw, aby dodać więcej danych lub przetestować model przy użyciu różnych scenariuszy. Gdy wszystko będzie gotowe do zaktualizowania aplikacji internetowej przy użyciu nowego modelu, wybierz pozycję Wdróż > ... ponownie jako aplikacja internetowa. Wybierz pozycję Zaktualizuj istniejącą aplikację internetową i wybierz istniejącą aplikację internetową z listy. Nowy model jest wdrażany w istniejącej aplikacji internetowej.
Czyszczenie zasobów
Aby uniknąć ponoszenia niepotrzebnych kosztów platformy Azure, usuń zasoby utworzone w tym przewodniku Szybki start, jeśli nie są już potrzebne. Aby zarządzać zasobami, możesz użyć witryny Azure Portal.