Application Web Python Flask avec intégration Azure OpenAI
Ce guide vous guide dans le déploiement d'une application Flask minimaliste avec l'intégration GPT d'Azure OpenAI dans une application Web Azure.
Étape 1. Provisionner le modèle GPT dans Azure OpenAI :
- Dans Azure OpenAI / AI Studio, déployez le modèle GPT-x requis ;
- Prenez note du point de terminaison de la ressource Azire OpenAI, du nom de déploiement du modèle GPT et de la version de l'API que vous prévoyez d'utiliser.
Étape 2. Préparez la ressource Azure Web App :
- Dans Azure, créez une nouvelle application Web et sélectionnez Python comme plate-forme de langue cible ;
- Dans les paramètres des variables d'environnement de l'application Web, créez les variables suivantes et définissez-les sur les valeurs collectées à l'étape 1 :
AZURE_OPENAI_API_BASE
, AZURE_OPENAI_API_DEPLOY
et AZURE_OPENAI_API_VERSION
; - Dans les paramètres des variables d'environnement de l'application Web, créez la variable
SCM_DO_BUILD_DURING_DEPLOYMENT
et définissez sa valeur sur « true » ;
Remarque : Le paramètre SCM_DO_BUILD_DURING_DEPLOYMENT garantit que l'application Web télécharge les packages Python requis, répertoriés dans le fichier Requirements.txt fourni.
- S'ils sont correctement configurés, les paramètres de votre application Web devraient ressembler à ceci :
Étape 3. Configurez l'authentification :
- Dans les paramètres d'identité de l'application Web, définissez le statut de l'identité managée attribuée par le système sur ON ;
Remarque : cette démo montre comment s'authentifier avec une identité managée. Vous pouvez trouver les détails de mise en œuvre d’autres options potentielles ici.
- Dans les paramètres de contrôle d’accès (IAM) d’Azure OpenAI, attribuez à l’identité managée de l’application Web le rôle d’utilisateur Cognitive Services OpenAI .
Étape 4. Déployer l'application Web Flask :
- ZIP le
app.py
fourni, requirements.txt
et le contenu des dossiers static
et templates
(4 fichiers au total) ; - Déployez votre fichier ZIP avec la commande Azure CLI suivante. Assurez-vous d'utiliser les noms corrects de groupe de ressources, d'application Web et de fichier ZIP :
az webapp deploy --resource-group < Web_App_RG > --name < Web_App_Name > --src-path < Source_ZIP_file >
- Comme nous avons activé la « construction pendant le déploiement » à l'étape 2, vous pouvez vérifier à partir du journal de l'application Web qu'elle a extrait les packages Python requis dans l'environnement virtuel Python cible :
Étape 5. Interface utilisateur de l'application Web :
- La page d'accueil de l'application Flask Web est très minimaliste. Vous tapez votre question, cliquez sur le bouton Demander et l'application Web ajoute une nouvelle paire question/réponse à sa page Web :