Ismerkedés a privát csevegési végpontokkal a Pythonhoz

Ez a cikk bemutatja, hogyan helyezheti üzembe és futtathatja a vállalati csevegőalkalmazás-mintát Python-re olyan módon, hogy az privát végpontokon keresztül elérhető legyen.

Ez a minta egy csevegőalkalmazást implementál a Python, az Azure OpenAI Service és a Retrieveal Augmented Generation (RAG) használatával az Azure AI Keresésben, hogy válaszokat kapjon egy kitalált vállalat alkalmazotti előnyeiről. Az alkalmazás olyan PDF-fájlokat tartalmaz, amelyek tartalmazzák az alkalmazotti kézikönyvet, az előnyöket tartalmazó dokumentumot, valamint a vállalati szerepkörök és elvárások listáját.

A cikk utasításait követve a következőket kell követnie:

  • Csevegőalkalmazás üzembe helyezése az Azure-ban nyilvános hozzáférés céljából webböngészőben.
  • Privát végpontokkal rendelkező csevegőalkalmazás ismételt üzembe helyezése.

Az eljárás befejezése után megkezdheti az új projekt módosítását az egyéni kóddal és az újbóli üzembe helyezéssel, tudva, hogy a csevegőalkalmazás csak a magánhálózaton keresztül érhető el.

Architektúra áttekintése

Az alapértelmezett üzembe helyezés nyilvános végpontokkal rendelkező csevegőalkalmazást hoz létre.

alapszintű RAG-csevegőalkalmazás hálózati architektúráját bemutató diagram.

A privát adatokkal bővített csevegőalkalmazások esetében kulcsfontosságú a csevegőalkalmazáshoz való hozzáférés biztosítása. Ez a cikk egy virtuális hálózattal rendelkező megoldást mutat be.

Diagram, amely egy Azure-beli virtuális hálózaton belüli összes szolgáltatással rendelkező hálózati architektúrát mutatja be.

A virtuális hálózaton belül van egy külön alhálózat az Azure App Service-alkalmazáshoz a többi háttérBeli Azure-szolgáltatással szemben. Ez a struktúra megkönnyíti a különböző hálózati biztonsági csoportokra vonatkozó szabályok alkalmazását az egyes alhálózatokra.

diagram, amely egy csevegőalkalmazás alhálózatát és egy háttérbeli alhálózatot jelenít meg a virtuális hálózaton belül.

A virtuális hálózaton belül a szolgáltatások privát végpontokkal kommunikálnak egymással. Minden privát végpont egy privát tartománynévrendszerhez (DNS)-zónához van társítva, hogy a privát végpont nevét a virtuális hálózaton belüli IP-címre oldja fel.

diagram, amely az Azure OpenAI privát végpontjának és privát DNS-zónájának ábrázolása a virtuális hálózaton belül.

Üzembe helyezési lépések

Helyezze üzembe kétszer a megoldást. Annak ellenőrzésére, hogy a csevegőalkalmazás megfelelően működik-e, egyszer nyilvános hozzáféréssel helyezzük üzembe. Telepítse újra privát hozzáféréssel a csevegőalkalmazás virtuális hálózattal történő biztonságossá tételéhez.

Előfeltételek

Olyan fejlesztői tárolókörnyezetre van szüksége, amely a cikk befejezéséhez szükséges összes függőséggel rendelkezik. A fejlesztői tárolót a GitHub Codespacesben (böngészőben) vagy helyileg is futtathatja a Visual Studio Code használatával.

A cikk használatához az alábbi előfeltételekre van szükség.

A mintaerőforrások használati költsége

Az architektúrában használt erőforrások többsége alapszintű vagy használatalapú tarifacsomagok alá tartozik. Ez a díjszabási modell azt jelenti, hogy csak azért kell fizetnie, amit használ, és a költségek általában minimálisak a fejlesztés vagy a tesztelés során.

A privát hálózatkezelés további költségekkel jár az üzembe helyezés során. Amikor befejezte az alkalmazás kiértékelését vagy üzembe helyezését, törölje az összes kiépített erőforrást a folyamatos költségek elkerülése érdekében.

A várható költségek részletes lebontásához tekintse meg a minta GitHub adattárÁnak Mielőtt elkezdő szakaszát.

Nyílt fejlesztési környezet

A cikk elvégzéséhez használja az alábbi utasításokat egy előre konfigurált fejlesztési környezet üzembe helyezéséhez, amely tartalmazza az összes szükséges függőséget.

A GitHub Codespaces egy GitHub által kezelt fejlesztési konténert futtat, a webes Visual Studio Code pedig a felhasználói felületként szolgál. A legegyszerűbb fejlesztési környezethez használja a GitHub Codespacest, hogy a megfelelő fejlesztői eszközökkel és függőségekkel rendelkezzen a cikk elvégzéséhez.

Fontos

Minden GitHub-fiók legfeljebb 60 órán át használhatja a GitHub Codespace-eket havonta két alapvető példánnyal. A további információkért tekintse meg a GitHub Codespaces havonta tartalmazott tárterületet és alapórákat.

  1. Indítsa el az új GitHub-kódtér létrehozását az main GitHub-adattár ágán.

  2. Kattintson a jobb egérgombbal a következő gombra, és válassza a Hivatkozás megnyitása új ablakban lehetőséget, hogy a fejlesztési környezet és a dokumentáció egyszerre elérhető legyen.

    Megnyitás a GitHub Codespacesben.

  3. A Kódtér létrehozása lapon tekintse át a kódtér konfigurációs beállításait, majd válassza a Kódtér létrehozásalehetőséget.

    Új kódtér létrehozása előtt a megerősítést kérő képernyő képernyőképe.

  4. Várjon, amíg a "codespace" elindul. Ez az indítási folyamat eltarthat néhány percig.

  5. A képernyő alján lévő terminálon jelentkezzen be az Azure-ba az Azure Developer CLI használatával:

    azd auth login
    
  6. Másolja ki a kódot a terminálból, majd illessze be egy böngészőbe. Kövesse az utasításokat az Azure-fiókkal való hitelesítéshez.

A cikkben szereplő fennmaradó feladatok ennek a fejlesztési tárolónak a kontextusában történnek.

Egyéni beállítások

Ez a megoldás konfigurálja és telepíti az infrastruktúrát a Azure fejlesztői parancssori felülettel konfigurált egyéni beállítások alapján. Az alábbi táblázat a megoldás egyéni beállításait ismerteti.

Beállítás Leírás
AZURE_PUBLIC_NETWORK_ACCESS Szabályozza a nyilvános hálózati hozzáférés értékét a támogatott Azure-erőforrásokon. Az érvényes értékek Enabled vagy Disabled.
AZURE_USE_PRIVATE_ENDPOINT Szabályozza a privát végpontok üzembe helyezését, amelyek Azure-erőforrásokat csatlakoztatnak a virtuális hálózathoz. A TRUE érték azt jelenti, hogy a privát végpontok a kapcsolathoz vannak üzembe helyezve.
AZURE_USE_VPN_GATEWAY A VIRTUÁLIS HÁLÓZAT VPN-átjárójának üzembe helyezését szabályozza. Ha nem használja ezt a beállítást, és letiltja a nyilvános hozzáférést, más módon kell csatlakoznia a virtuális hálózathoz. Az TRUE érték azt jelenti, hogy egy VPN-átjáró van üzembe helyezve a kapcsolatokhoz.

A csevegőalkalmazás üzembe helyezése

Az első üzembe helyezés létrehozza az erőforrásokat, és nyilvánosan elérhető végpontot biztosít.

  1. Futtassa a következő parancsot a megoldás nyilvános hozzáféréshez való konfigurálásához:

    azd env set AZURE_PUBLIC_NETWORK_ACCESS Enabled
    

    Amikor a rendszer környezeti nevet kér, ne feledje, hogy a rendszer a környezet nevét használja az erőforráscsoport létrehozásához. Adjon meg egy értelmes nevet. Ha egy csapatban vagy szervezeten belül dolgozik, adja meg a nevét a morgan-chat-private-endpointsminta alapján. Jegyezze fel a környezet nevét. Később szüksége lesz rá, hogy megtalálja az erőforrásokat az Azure Portalon.

  2. Futtassa a következő parancsot, hogy beépítse a virtuális hálózati erőforrások kiépítését. Ne feledje, hogy az üzembe helyezés csak a második üzembe helyezésig korlátozza a hozzáférést.

    azd env set AZURE_USE_PRIVATE_ENDPOINT true
    
  3. Telepítse a megoldást a következő paranccsal:

    azd up
    

    Az erőforrások kiépítése az üzembe helyezési folyamat leg időigényesebb része. A folytatás előtt várja meg, amíg az üzembe helyezés befejeződik.

  4. Az üzembe helyezési folyamat végén megjelenik az alkalmazásvégpont. Másolja a végpontot egy böngészőbe a csevegőalkalmazás megnyitásához. Válassza ki a kártyákon szereplő kérdések egyikét, majd várja meg a választ.

    Jegyezze fel a végpont URL-címét, mert a cikk későbbi részében szüksége lesz rá.

A csevegőalkalmazás üzembe helyezése az Azure-ban privát hozzáféréssel

Módosítsa az üzembehelyezési konfigurációt a csevegőalkalmazás privát hozzáféréshez való védelméhez.

  1. Futtassa a következő parancsot EGY VPN-átjáró használatához a virtuális hálózat eléréséhez:

    azd env set AZURE_USE_VPN_GATEWAY true
    
  2. A nyilvános hozzáférés kikapcsolásához futtassa a következő parancsot:

    azd env set AZURE_PUBLIC_NETWORK_ACCESS Disabled
    
  3. Futtassa a következő parancsot az erőforrás konfigurációjának módosításához. Ez a parancs nem helyezi újra üzembe az alkalmazáskódot, mert csak az infrastruktúra konfigurációja módosult.

    azd provision
    
  4. A kiépítés befejezése után nyissa meg újra a csevegőalkalmazást egy böngészőben. A csevegőalkalmazás már nem érhető el, mert a nyilvános végpont le van tiltva.

A csevegőalkalmazás elérése

A csevegőalkalmazás eléréséhez használjon olyan eszközt, mint például Azure VPN Gateway vagy Azure Virtual Desktop. Ne feledje, hogy az alkalmazás eléréséhez használt eszközöknek biztonságosnak és a szervezet biztonsági szabályzatainak megfelelőnek kell lenniük.

Erőforrások törlése

Az alábbi lépések végigvezetik a használt erőforrások megtisztításának folyamatán.

Azure-erőforrások tisztítása

Ha a jövőben nem lesz szüksége a Azure erőforrásokra, törölje őket a folyamatos költségek elkerülése érdekében.

Futtassa a következő Azure fejlesztői parancssori felület parancsot a Azure erőforrások törléséhez:

azd down --purge

A GitHub Codespaces-környezet törlése biztosítja, hogy maximálisan kihasználható legyen a fiókhoz tartozó ingyenes óránkénti jogosultság.

Fontos

További információért a GitHub-fiók jogosultságairól lásd: GitHub Codespaces havonta tartalmaz tárolási kapacitást és alapórákat.

  1. Jelentkezzen be a GitHub Codespaces irányítópultjára.

  2. Keresse meg az azure-samples/azure-search-openai-demo GitHub-adattárból származó, jelenleg futó kódtereket.

    Képernyőkép az összes futó kódtérről, beleértve azok állapotát és sablonjait.

  3. Nyissa meg a kódtér helyi menüjét, majd válassza a Törléslehetőséget.

    Képernyőkép egyetlen kódtér helyi menüjéről a Törlés lehetőség kiemelésével.

Segítség kérése

Ez a mintatároló hibaelhárítási információkat kínál.

Ha a problémája nincs megoldva, adja hozzá annak leírását a repozitórium Problémák weblapjához.