Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel leest u hoe u het voorbeeld van de bedrijfschat-app voor Python implementeert en uitvoert dat toegankelijk is voor privé-eindpunten.
In dit voorbeeld wordt een chat-app geïmplementeerd met behulp van Python, Azure OpenAI Service en Rag (Retrieval Augmented Generation) in Azure AI Zoeken om antwoorden te krijgen op de voordelen van werknemers bij een fictief bedrijf. De app wordt geseed met PDF-bestanden die het werknemershandboek, een document met voordelen en een lijst met bedrijfsrollen en verwachtingen bevatten.
Door de instructies in dit artikel te volgen, gaat u als volgt te werk:
- Implementeer een chat-app in Azure voor openbare toegang in een webbrowser.
- Implementeer een chat-app opnieuw met privé-eindpunten.
Nadat u deze procedure hebt voltooid, kunt u beginnen met het wijzigen van het nieuwe project met uw aangepaste code en opnieuw implementeren, wetende dat uw chat-app alleen toegankelijk is via het privénetwerk.
Architectuuroverzicht
Met de standaardimplementatie maakt u een chat-app met openbare eindpunten.
Voor chat-apps die zijn verrijkt met persoonlijke gegevens, is het beveiligen van de toegang tot uw chat-app cruciaal. In dit artikel wordt een oplossing gepresenteerd met behulp van een virtueel netwerk.
Binnen het virtuele netwerk is er een afzonderlijk subnet voor de Azure App Service-app ten opzichte van de andere back-end Azure-services. Met deze structuur kunt u eenvoudig verschillende regels voor netwerkbeveiligingsgroepen toepassen op elk subnet.
Binnen het virtuele netwerk gebruiken de services privé-eindpunten om met elkaar te communiceren. Elk privé-eindpunt is gekoppeld aan een dns-zone (Private Domain Name System) om de naam van het privé-eindpunt om te omzetten in een IP-adres in het virtuele netwerk.
Installatiestappen
Implementeer de oplossing twee keer. Implementeer eenmaal met openbare toegang om te controleren of de chat-app correct werkt. Implementeer opnieuw met privétoegang om uw chat-app te beveiligen met behulp van een virtueel netwerk.
Vereiste voorwaarden
U hebt een ontwikkelcontaineromgeving nodig met alle afhankelijkheden die nodig zijn om dit artikel te voltooien. U kunt de ontwikkelcontainer uitvoeren in GitHub Codespaces (in een browser) of lokaal met behulp van Visual Studio Code.
Als u dit artikel wilt gebruiken, hebt u de volgende vereisten nodig.
- Codespaces (aanbevolen)
- Visual Studio Code
- Een Azure-abonnement. Maak gratis een account.
- Machtigingen voor Azure-accounts. Uw Azure-account moet
Microsoft.Authorization/roleAssignments/writemachtigingen hebben, zoals administrator voor gebruikerstoegang of eigenaar. - Een GitHub-account.
Gebruikskosten voor voorbeeldbronnen
De meeste resources die in deze architectuur worden gebruikt, vallen onder basisniveaus of op verbruik gebaseerde prijscategorieën. Dit prijsmodel betekent dat u alleen betaalt voor wat u gebruikt en dat de kosten doorgaans minimaal zijn tijdens het ontwikkelen of testen.
Door te implementeren met privénetwerken worden extra kosten aan uw implementatie toegevoegd. Wanneer u klaar bent met het evalueren of implementeren van de app, verwijdert u alle ingerichte resources om lopende kosten te voorkomen.
Zie de sectie Voordat u begint in de GitHub opslagplaats voor het voorbeeld voor een gedetailleerde uitsplitsing van de verwachte kosten.
Open ontwikkelomgeving
Gebruik de volgende instructies om een vooraf geconfigureerde ontwikkelomgeving met alle vereiste afhankelijkheden te implementeren om dit artikel te voltooien.
- GitHub Codespaces (aanbevolen)
- Visual Studio Code
GitHub Codespaces voert een ontwikkelcontainer uit beheerd door GitHub met Visual Studio Code voor het web als de gebruikersinterface. Voor de eenvoudigste ontwikkelomgeving gebruikt u GitHub Codespaces zodat u de juiste ontwikkelhulpprogramma's en afhankelijkheden vooraf hebt geïnstalleerd om dit artikel te voltooien.
Belangrijk
Alle GitHub-accounts kunnen Elke maand maximaal 60 uur gratis GitHub Codespaces gebruiken met twee kernexemplaren. Zie GitHub Codespaces maandelijks inbegrepen opslag- en kernuren voor meer informatie.
Start het proces om een nieuwe GitHub-coderuimte aan te maken op de
main-branch van de GitHub-repository Azure-Samples/azure-search-openai-demo.Klik met de rechtermuisknop op de volgende knop en selecteer De koppeling Openen in nieuwe vensters om de ontwikkelomgeving en de documentatie tegelijkertijd beschikbaar te maken.
Controleer op de pagina Codespace maken de configuratie-instellingen voor codespace en selecteer vervolgens Codespace maken.
Wacht tot de codespace is gestart. Dit opstartproces kan enkele minuten duren.
Meld u in de terminal onderaan het scherm aan bij Azure met de Azure Developer CLI:
azd auth loginKopieer de code uit de terminal en plak deze in een browser. Volg de instructies voor verificatie met uw Azure-account.
De resterende taken in dit artikel vinden plaats in de context van deze ontwikkelingscontainer.
Aangepaste instellingen
Deze oplossing configureert en implementeert de infrastructuur op basis van aangepaste instellingen die u configureert met behulp van de Azure Developer CLI. In de volgende tabel worden de aangepaste instellingen voor deze oplossing uitgelegd.
| Configuratie | Beschrijving |
|---|---|
AZURE_PUBLIC_NETWORK_ACCESS |
Hiermee bepaalt u de waarde van openbare netwerktoegang op ondersteunde Azure-resources. Geldige waarden zijn Enabled of Disabled. |
AZURE_USE_PRIVATE_ENDPOINT |
Hiermee bepaalt u de implementatie van privé-eindpunten, die Azure-resources verbinden met het virtuele netwerk. De TRUE waarde betekent dat privé-eindpunten worden geïmplementeerd voor connectiviteit. |
AZURE_USE_VPN_GATEWAY |
Hiermee bepaalt u de implementatie van een VPN-gateway voor het virtuele netwerk. Als u deze instelling niet gebruikt en openbare toegang uitschakelt, hebt u een andere manier nodig om verbinding te maken met het virtuele netwerk. De TRUE waarde betekent dat een VPN-gateway is geïmplementeerd voor connectiviteit. |
De chat-app implementeren
De eerste implementatie maakt de resources aan en biedt een openbaar toegankelijk eindpunt.
Voer de volgende opdracht uit om deze oplossing te configureren voor openbare toegang:
azd env set AZURE_PUBLIC_NETWORK_ACCESS EnabledWanneer u om een omgevingsnaam wordt gevraagd, moet u er rekening mee houden dat de omgevingsnaam wordt gebruikt om de resourcegroep te maken. Voer een betekenisvolle naam in. Als u lid bent van een team of in een organisatie, neemt u uw naam op, zoals in
morgan-chat-private-endpoints. Noteer de omgevingsnaam. U hebt deze later nodig om de resources te vinden in Azure Portal.Voer de volgende opdracht uit om de resources van het virtuele netwerk in te richten. Houd er rekening mee dat de implementatie de toegang niet beperkt tot de tweede implementatie.
azd env set AZURE_USE_PRIVATE_ENDPOINT trueImplementeer de oplossing met de volgende opdracht:
azd upHet inrichten van resources is het meest tijdrovende onderdeel van het implementatieproces. Wacht tot de implementatie is voltooid voordat u doorgaat.
Aan het einde van het implementatieproces wordt het app-eindpunt weergegeven. Kopieer dat eindpunt naar een browser om de chat-app te openen. Selecteer een van de vragen op de kaarten en wacht vervolgens op het antwoord.
Noteer de eindpunt-URL omdat u deze later in het artikel opnieuw nodig hebt.
De chat-app implementeren in Azure met privétoegang
Wijzig de implementatieconfiguratie om de chat-app te beveiligen voor privétoegang.
Voer de volgende opdracht uit om een VPN-gateway te gebruiken voor toegang tot het virtuele netwerk:
azd env set AZURE_USE_VPN_GATEWAY trueVoer de volgende opdracht uit om openbare toegang uit te schakelen:
azd env set AZURE_PUBLIC_NETWORK_ACCESS DisabledVoer de volgende opdracht uit om de resourceconfiguratie te wijzigen. Met deze opdracht wordt de toepassingscode niet opnieuw geïmplementeerd omdat alleen de infrastructuurconfiguratie is gewijzigd.
azd provisionNadat het inrichten is voltooid, opent u de chat-app opnieuw in een browser. De chat-app is niet meer toegankelijk omdat het openbare eindpunt is uitgeschakeld.
Toegang tot de chat-app
Als u toegang wilt krijgen tot de chat-app, gebruikt u een hulpprogramma zoals Azure VPN-gateway of Azure Virtual Desktop. Houd er rekening mee dat elk hulpprogramma dat u gebruikt voor toegang tot de app, veilig en compatibel moet zijn met het beveiligingsbeleid van uw organisatie.
De hulpbronnen opschonen
Met de volgende stappen doorloopt u het proces voor het opschonen van de resources die u hebt gebruikt.
Azure-resources schoonmaken
Als u niet verwacht dat u de Azure resources in de toekomst nodig hebt, verwijdert u deze om doorlopende kosten te voorkomen.
Voer de volgende Azure Cli-opdracht voor ontwikkelaars uit om de Azure resources te verwijderen:
azd down --purge
Als u de GitHub Codespaces-omgeving verwijdert, zorgt u ervoor dat u de hoeveelheid gratis rechten per kernuren die u voor uw account krijgt, kunt maximaliseren.
Belangrijk
Voor meer informatie over de rechten verbonden aan uw GitHub-account, zie maandelijkse inbegrepen opslag en kernuren van GitHub Codespaces.
Meld u aan bij het GitHub Codespaces-dashboard.
Zoek uw momenteel lopende codespaces die afkomstig zijn uit de GitHub-opslagplaats Azure-Samples/azure-search-openai-demo.
Open het contextmenu voor de coderuimte en selecteer Verwijderen.
Hulp krijgen
Deze voorbeeldrepository biedt probleemoplossingsinformatie.
Als uw probleem niet is opgelost, voegt u het probleem toe aan de webpagina Problemen van de opslagplaats.
Verwante inhoud
- Bekijk de GitHub-opslagplaats voor zakelijke chat-apps.
- Bouw een chat-app met de best practices-oplossingsarchitectuur van Azure OpenAI.
- Meer informatie over toegangsbeheer in generatieve AI-apps met Azure AI Zoeken.