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.
W tym artykule pokazano, jak wdrożyć i uruchomić przykładową aplikację do czatów dla przedsiębiorstw dla języka Python , która jest dostępna dla prywatnych punktów końcowych.
Ten przykład implementuje aplikację czatu, używając języka Python, usługi Azure OpenAI Service oraz pobierania rozszerzonej generacji (RAG) w Azure AI Search, aby uzyskać odpowiedzi na pytania dotyczące świadczeń pracowniczych w fikcyjnej firmie. Aplikacja jest wypełniana plikami PDF, które zawierają podręcznik pracownika, dokument korzyści oraz listę ról i oczekiwań firmy.
Postępując zgodnie z instrukcjami w tym artykule, wykonasz następujące czynności:
- Wdróż aplikację czatu na platformie Azure, aby uzyskać dostęp publiczny w przeglądarce internetowej.
- Ponownie wdróż aplikację czatu z prywatnymi punktami końcowymi.
Po zakończeniu tej procedury możesz rozpocząć modyfikowanie nowego projektu przy użyciu kodu niestandardowego i ponownego wdrażania, wiedząc, że aplikacja czatu jest dostępna tylko za pośrednictwem sieci prywatnej.
Omówienie architektury
Domyślne wdrożenie tworzy aplikację czatu z publicznymi punktami końcowymi.
W przypadku aplikacji do czatów wzbogaconych danymi prywatnymi niezwykle ważne jest zabezpieczenie dostępu do aplikacji do czatu. W tym artykule przedstawiono rozwiązanie przy użyciu sieci wirtualnej.
W sieci wirtualnej istnieje osobna podsieć dla aplikacji Azure App Service niż dla innych usługami zaplecza Azure. Ta struktura ułatwia stosowanie różnych reguł sieciowej grupy zabezpieczeń do każdej podsieci.
W ramach sieci wirtualnej usługi używają prywatnych punktów końcowych do komunikowania się ze sobą. Każdy prywatny punkt końcowy jest skojarzony z prywatną strefą systemu nazw domen (DNS), aby rozpoznać nazwę prywatnego punktu końcowego na adres IP w sieci wirtualnej.
Kroki wdrażania
Zalecamy dwukrotne wdrożenie rozwiązania. Wdróż raz z publicznym dostępem, aby sprawdzić, czy aplikacja do czatu działa prawidłowo. Wdróż ponownie przy użyciu prywatnego dostępu, aby zabezpieczyć aplikację do czatu przy użyciu sieci wirtualnej.
Wymagania wstępne
Środowisko kontenera deweloperskiego jest dostępne ze wszystkimi zależnościami wymaganymi do ukończenia tego artykułu. Kontener deweloperski można uruchomić w usłudze GitHub Codespaces (w przeglądarce) lub lokalnie przy użyciu programu Visual Studio Code.
Aby użyć tego artykułu, potrzebne są następujące wymagania wstępne.
- Subskrypcja platformy Azure. Utwórz je bezpłatnie.
- Uprawnienia konta platformy Azure. Konto platformy Azure musi mieć uprawnienia
Microsoft.Authorization/roleAssignments/write
, takie jak Administrator dostępu użytkowników lub Właściciel . - Konto usługi GitHub.
Otwieranie środowiska projektowego
Rozpocznij teraz od środowiska programistycznego, które ma zainstalowane wszystkie zależności, aby ukończyć ten artykuł.
GitHub Codespaces uruchamia kontener deweloperski, zarządzany przez GitHub, z użyciem Visual Studio Code for the Web jako interfejsu użytkownika. W przypadku najprostszego środowiska programistycznego użyj usługi GitHub Codespaces, aby wstępnie zainstalować odpowiednie narzędzia deweloperskie i zależności, aby ukończyć ten artykuł.
Ważne
Wszystkie konta GitHub mogą korzystać z GitHub Codespaces do 60 godzin miesięcznie bezpłatnie, z dwoma podstawowymi instancjami. Aby uzyskać więcej informacji, zobacz miesięczny limit pamięci i godzin rdzeni usługi GitHub Codespaces.
Rozpocznij proces tworzenia nowej przestrzeni kodowania GitHub w gałęzi
main
w repozytorium GitHub Azure-Samples/azure-search-openai-demo.Kliknij prawym przyciskiem myszy poniższy przycisk i wybierz pozycję Otwórz link w nowych oknach, aby mieć środowisko programistyczne i dokumentację dostępną w tym samym czasie.
Na stronie Utwórz przestrzeń kodu przejrzyj ustawienia konfiguracji przestrzeni kodu, a następnie wybierz Utwórz przestrzeń kodu.
Poczekaj, aż przestrzeń kodowa się uruchomi. Ten proces uruchamiania może potrwać kilka minut.
W terminalu w dolnej części ekranu zaloguj się do platformy Azure przy użyciu interfejsu wiersza polecenia dla deweloperów platformy Azure:
azd auth login
Skopiuj kod z terminalu, a następnie wklej go w przeglądarce. Postępuj zgodnie z instrukcjami, aby uwierzytelnić się przy użyciu konta platformy Azure.
Pozostałe zadania w tym artykule mają miejsce w kontekście tego kontenera deweloperskiego.
Ustawienia niestandardowe
To rozwiązanie konfiguruje i wdraża infrastrukturę na podstawie ustawień niestandardowych skonfigurowanych za pomocą interfejsu wiersza polecenia dewelopera platformy Azure. W poniższej tabeli opisano ustawienia niestandardowe dla tego rozwiązania.
Ustawienia | Opis |
---|---|
AZURE_PUBLIC_NETWORK_ACCESS |
Steruje wartością dostępu do sieci publicznej w obsługiwanych zasobach platformy Azure. Prawidłowe wartości to Enabled lub Disabled . |
AZURE_USE_PRIVATE_ENDPOINT |
Steruje wdrażaniem prywatnych punktów końcowych, które łączą zasoby platformy Azure z siecią wirtualną. Wartość TRUE oznacza, że prywatne punkty końcowe są wdrażane na potrzeby łączności. |
Wdrażanie aplikacji do czatu
Pierwsze wdrożenie tworzy zasoby i udostępnia publicznie dostępny punkt końcowy.
Uruchom następujące polecenie, aby skonfigurować to rozwiązanie pod kątem dostępu publicznego:
azd env set AZURE_PUBLIC_NETWORK_ACCESS Enabled
Gdy zostanie wyświetlony monit o nazwę środowiska, pamiętaj, że nazwa środowiska jest używana do utworzenia grupy zasobów. Wprowadź zrozumiałą nazwę. Jeśli jesteś w zespole lub w organizacji, dołącz swoje imię i nazwisko, tak jak w pliku
morgan-chat-private-endpoints
. Zanotuj nazwę środowiska. Będziesz ich potrzebować później, aby znaleźć zasoby w portalu Azure.Uruchom następujące polecenie, aby uwzględnić aprowizowanie zasobów sieci wirtualnej. Należy pamiętać, że wdrożenie nie ogranicza dostępu do momentu drugiego wdrożenia.
azd env set AZURE_USE_PRIVATE_ENDPOINT true
Wdróż rozwiązanie za pomocą następującego polecenia:
azd up
Aprowizowanie zasobów jest najbardziej czasochłonną częścią procesu wdrażania. Poczekaj na zakończenie wdrożenia, zanim przejdziesz dalej.
Na końcu procesu wdrażania zostanie wyświetlony punkt końcowy aplikacji. Skopiuj ten punkt końcowy do przeglądarki, aby otworzyć aplikację do czatu. Wybierz jedno z pytań na kartach, a następnie poczekaj na odpowiedź.
Zanotuj adres URL punktu końcowego, ponieważ będzie on potrzebny ponownie w dalszej części artykułu.
Wdrażanie aplikacji czatu na platformie Azure z dostępem prywatnym
Zmień konfigurację wdrożenia, aby zabezpieczyć aplikację czatu na potrzeby dostępu prywatnego.
Uruchom następujące polecenie, aby wyłączyć dostęp publiczny:
azd env set AZURE_PUBLIC_NETWORK_ACCESS Disabled
Uruchom następujące polecenie, aby zmienić konfigurację zasobu. To polecenie nie powoduje ponownego wdrożenia kodu aplikacji, ponieważ ten kod nie został zmieniony.
azd provision
Po zakończeniu aprowizacji otwórz ponownie aplikację czatu w przeglądarce. Aplikacja do czatu nie jest już dostępna, ponieważ publiczny punkt końcowy jest wyłączony.
Uzyskiwanie dostępu do aplikacji do czatu
Aby uzyskać dostęp do aplikacji do czatu, użyj narzędzia, takiego jak Azure VPN Gateway lub Azure Virtual Desktop. Pamiętaj, że każde narzędzie używane do uzyskiwania dostępu do aplikacji musi być bezpieczne i zgodne z zasadami zabezpieczeń organizacji.
Uprzątnij zasoby
Poniższe kroki przeprowadzą Cię przez proces czyszczenia użytych zasobów.
Usunięcie środowiska GitHub Codespaces pozwala na maksymalne wykorzystanie przydzielonych darmowych godzin procesora dla twojego konta.
Ważne
Aby uzyskać więcej informacji na temat świadczeń związanych z kontem GitHub, zobacz Miesięczne limity magazynowania oraz godziny rdzeni w GitHub Codespaces.
Zaloguj się do pulpitu nawigacyjnego usługi GitHub Codespaces.
Znajdź aktualnie uruchomione codespaces pochodzące z repozytorium GitHub Azure-Samples/azure-search-openai-demo.
Otwórz menu kontekstowe dla przestrzeni kodu, a następnie wybierz pozycję Usuń.
Uzyskaj pomoc
To przykładowe repozytorium oferuje informacje dotyczące rozwiązywania problemów.
Jeśli twój problem nie został rozwiązany, dodaj go do sekcji Issues w repozytorium.
Powiązana treść
- Zobacz repozytorium GitHub aplikacji do czatów dla przedsiębiorstw.
- Zbuduj aplikację do czatu z wykorzystaniem najlepszych praktyk architektonicznych usługi Azure OpenAI.
- Dowiedz się więcej o kontroli dostępu w aplikacjach sztucznej inteligencji generacyjnej dzięki usłudze Azure AI Search.