Začínáme s privátními koncovými body chatu pro Python

V tomto článku se dozvíte, jak nasadit a spustit ukázku podnikové chatovací aplikace pro Python , která je přístupná privátními koncovými body.

Tato ukázka implementuje chatovací aplikaci pomocí Pythonu, služby Azure OpenAI a načítání rozšířené generace (RAG) ve službě Azure AI Vyhledávač za účelem získání odpovědí na výhody zaměstnanců ve fiktivní společnosti. Aplikace je oseděna soubory PDF, které zahrnují příručku pro zaměstnance, dokument o výhodách a seznam rolí a očekávání společnosti.

Podle pokynů v tomto článku:

  • Nasaďte chatovací aplikaci do Azure pro veřejný přístup ve webovém prohlížeči.
  • Znovu nasaďte chatovací aplikaci s privátními koncovými body.

Po dokončení tohoto postupu můžete začít upravovat nový projekt pomocí vlastního kódu a znovu nasadit, protože víte, že chatovací aplikace je přístupná jenom prostřednictvím privátní sítě.

Přehled architektury

Výchozí nasazení vytvoří chatovací aplikaci s veřejnými koncovými body.

Diagram znázorňující síťovou architekturu základní chatovací aplikace RAG

Pro chatovací aplikace obohacené privátními daty je zabezpečení přístupu k chatovací aplikaci zásadní. Tento článek představuje řešení pomocí virtuální sítě.

Diagram znázorňující síťovou architekturu se všemi službami ve virtuální síti Azure

Ve virtuální síti existuje samostatná podsíť pro aplikaci Azure App Service a další back-endové služby Azure. Tato struktura usnadňuje použití různých pravidel skupiny zabezpečení sítě pro každou podsíť.

Diagram znázorňující podsíť chatovací aplikace a back-endovou podsíť ve virtuální síti

Služby ve virtuální síti používají privátní koncové body ke vzájemné komunikaci. Každý privátní koncový bod je přidružený k privátní zóně DNS (Domain Name System), která přeloží název privátního koncového bodu na IP adresu ve virtuální síti.

Diagram znázorňující privátní koncový bod a privátní zónu DNS pro Azure OpenAI ve virtuální síti

Kroky nasazení

Doporučujeme řešení nasadit dvakrát. Nasaďte jednou s veřejným přístupem, abyste ověřili, že chatovací aplikace funguje správně. Znovu nasaďte privátní přístup k zabezpečení chatovací aplikace pomocí virtuální sítě.

Požadavky

Vývojové prostředí kontejneru je k dispozici se všemi závislostmi potřebnými k dokončení tohoto článku. Vývojový kontejner můžete spustit v GitHub Codespaces (v prohlížeči) nebo místně pomocí editoru Visual Studio Code.

Pokud chcete tento článek použít, potřebujete následující požadavky.

Náklady na využití pro ukázkové zdroje

Většina prostředků používaných v této architektuře spadá do základních cenových úrovní nebo cenových úrovní založených na spotřebě. To znamená, že platíte jenom za to, co používáte, a poplatky jsou obvykle během vývoje nebo testování minimální.

Nasazení s využitím privátních sítí zvyšuje náklady na vaše nasazení. Jakmile aplikaci vyhodnotíte nebo nasadíte, můžete odstranit všechny zřízené prostředky, abyste se vyhnuli průběžným poplatkům.

Pro podrobný rozpis očekávaných nákladů si prohlédněte Než začnete v GitHub repozitáři pro ukázku.

Otevřené vývojové prostředí

Podle následujících pokynů nasaďte předkonfigurované vývojové prostředí obsahující všechny požadované závislosti pro dokončení tohoto článku.

GitHub Codespaces spouští vývojový kontejner spravovaný GitHubem s Visual Studio Code pro web jako uživatelským rozhraním. Pro nejjednodušší vývojové prostředí použijte GitHub Codespaces, abyste měli předinstalované správné vývojářské nástroje a závislosti k dokončení tohoto článku.

Důležité

Všechny účty GitHubu můžou každý měsíc používat GitHub Codespaces až na 60 hodin zdarma se dvěma základními instancemi. Podrobnější informace najdete v GitHub Codespaces o měsíčně zahrnutém úložišti a hodinách jádra.

  1. Spusťte proces vytvoření nového prostoru kódu GitHubu main ve větvi úložiště Azure-Samples/azure-search-openai-demo GitHub.

  2. Klikněte pravým tlačítkem myši na následující tlačítko a vyberte Otevřít odkaz v nových oknech , aby bylo vývojové prostředí a dokumentace k dispozici současně.

    Otevřít v GitHub Codespaces.

  3. Na stránce Vytvořit codespace zkontrolujte nastavení konfigurace codespace a poté vyberte Vytvořit codespace.

    Snímek obrazovky znázorňující potvrzovací obrazovku před vytvořením nového prostoru kódu

  4. Počkejte, až se codespace spustí. Tento proces spuštění může trvat několik minut.

  5. V terminálu v dolní části obrazovky se přihlaste k Azure pomocí Azure Developer CLI:

    azd auth login
    
  6. Zkopírujte kód z terminálu a vložte ho do prohlížeče. Postupujte podle pokynů k ověření pomocí účtu Azure.

Zbývající úlohy v tomto článku probíhají v kontextu tohoto vývojového kontejneru.

Vlastní nastavení

Toto řešení nakonfiguruje a nasadí infrastrukturu na základě vlastních nastavení nakonfigurovaných pomocí Azure Developer CLI. Následující tabulka vysvětluje vlastní nastavení tohoto řešení.

Nastavení Popis
AZURE_PUBLIC_NETWORK_ACCESS Řídí hodnotu přístupu k veřejné síti u podporovaných prostředků Azure. Platné hodnoty jsou Enabled nebo Disabled.
AZURE_USE_PRIVATE_ENDPOINT Řídí nasazení privátních koncových bodů, které připojují prostředky Azure k virtuální síti. Hodnota TRUE znamená, že privátní koncové body se nasazují pro připojení.
AZURE_USE_VPN_GATEWAY Řídí nasazení brány VPN pro virtuální síť. Pokud tento přístup nepoužíváte a veřejný přístup je zakázaný, potřebujete jiný způsob připojení k virtuální síti. Hodnota TRUE znamená, že je brána VPN nasazená pro připojení.

Nasazení chatovací aplikace

První nasazení vytvoří prostředky a poskytne veřejně přístupný koncový bod.

  1. Spuštěním následujícího příkazu nakonfigurujte toto řešení pro veřejný přístup:

    azd env set AZURE_PUBLIC_NETWORK_ACCESS Enabled
    

    Když budete požádáni o název prostředí, nezapomeňte, že název prostředí se používá k vytvoření skupiny prostředků. Zadejte smysluplný název. Pokud jste v týmu nebo v organizaci, uveďte své jméno, jako v morgan-chat-private-endpoints. Poznamenejte si název prostředí. Později ho budete potřebovat k vyhledání prostředků na webu Azure Portal.

  2. Spuštěním následujícího příkazu zahrňte zřizování prostředků virtuální sítě. Nezapomeňte, že nasazení neomezuje přístup až do druhého nasazení.

    azd env set AZURE_USE_PRIVATE_ENDPOINT true
    
  3. Nasaďte řešení pomocí následujícího příkazu:

    azd up
    

    Zřizování prostředků je časově nejnáročnější součástí procesu nasazení. Než budete pokračovat, počkejte na dokončení nasazení.

  4. Na konci procesu nasazení se zobrazí koncový bod aplikace. Zkopírujte tento koncový bod do prohlížeče a otevřete chatovací aplikaci. Vyberte jednu z otázek na kartách a počkejte na odpověď.

    Poznamenejte si adresu URL koncového bodu, protože ji budete potřebovat později v článku.

Nasazení chatovací aplikace do Azure s privátním přístupem

Změňte konfiguraci nasazení a zabezpečte chatovací aplikaci pro privátní přístup.

  1. Spuštěním následujícího příkazu použijte bránu VPN pro přístup k virtuální síti:

    azd env set AZURE_USE_VPN_GATEWAY true
    
  2. Spuštěním následujícího příkazu vypněte veřejný přístup:

    azd env set AZURE_PUBLIC_NETWORK_ACCESS Disabled
    
    
  3. Spuštěním následujícího příkazu změňte konfiguraci prostředku. Tento příkaz znovu nenasadí kód aplikace, protože se změnila pouze konfigurace infrastruktury.

    azd provision
    
  4. Po dokončení zřizování znovu otevřete chatovací aplikaci v prohlížeči. Chatovací aplikace už není přístupná, protože veřejný koncový bod je zakázaný.

Přístup k chatovací aplikaci

Pokud chcete získat přístup k chatovací aplikaci, použijte nástroj, jako je Službu Azure VPN Gateway nebo Azure Virtual Desktop. Mějte na paměti, že každý nástroj, který používáte pro přístup k aplikaci, musí být zabezpečený a kompatibilní se zásadami zabezpečení vaší organizace.

Vyčistěte zdroje

Následující kroky vás provedou procesem čištění použitých prostředků.

Odstraněním prostředí GitHub Codespaces můžete zajistit, že maximalizujete nárok na maximální počet bezplatných hodin na jedno jádro, které máte k dispozici pro svůj účet.

Důležité

Další informace o oprávněních vašeho účtu GitHub najdete v tématu měsíčně zahrnuté úložiště a hodiny procesoru GitHub Codespaces.

  1. Přihlaste se k řídicímu panelu GitHub Codespaces.

  2. Vyhledejte aktuálně spuštěné codespaces, pocházející z úložiště Azure-Samples/azure-search-openai-demo z GitHub.

    Snímek obrazovky znázorňující všechny spuštěné prostory kódu včetně jejich stavu a šablon

  3. Otevřete místní nabídku pro codespace a pak vyberte Odstranit.

    Snímek obrazovky znázorňující místní nabídku pro jeden prostor kódu se zvýrazněnou možností Odstranit

Získání pomoci

Toto ukázkové úložiště nabízí informace k řešení problémů.

Pokud se váš problém nevyřeší, přidejte svůj problém na webovou stránku Problémy úložiště.