Azure OpenAI 統合を使用した Python Flask Web アプリ
このガイドでは、Azure OpenAI の GPT 統合を使用した最小限の Flask アプリケーションを Azure Web App にデプロイする手順を説明します。
ステップ 1. Azure OpenAI で GPT モデルをプロビジョニングします。
- Azure OpenAI / AI Studio で、必要な GPT-x モデルをデプロイします。
- Azire OpenAI リソースのエンドポイント、GPT モデルのデプロイメント名、および使用する予定の API バージョンをメモします。
ステップ 2. Azure Web App リソースを準備します。
- Azure で、新しい Web アプリを作成し、ターゲット言語プラットフォームとして Python を選択します。
- Web アプリの環境変数設定で、次の変数を作成し、ステップ 1 で収集した値に設定します:
AZURE_OPENAI_API_BASE
、 AZURE_OPENAI_API_DEPLOY
、およびAZURE_OPENAI_API_VERSION
。 - Web アプリの環境変数設定で、変数
SCM_DO_BUILD_DURING_DEPLOYMENT
を作成し、その値を「 true 」に設定します。
注: SCM_DO_BUILD_DURING_DEPLOYMENT設定により、Web アプリは、提供されたrequirements.txtファイルにリストされている必要な Python パッケージをダウンロードします。
- 正しく設定されている場合、Web アプリの設定は次のようになります。

ステップ 3. 認証を構成します。
- Web アプリのID設定で、システム割り当てマネージド ID のステータスをONに設定します。
注: このデモでは、マネージド ID を使用して認証する方法を示します。他の潜在的なオプションの実装の詳細については、こちらをご覧ください。 
- Azure OpenAI のアクセス制御 (IAM)設定で、Web アプリのマネージド ID にCognitive Services OpenAI ユーザーロールを割り当てます。
ステップ 4. Flask Web アプリをデプロイします。
- 提供された
app.py
、 requirements.txt
、およびstatic
フォルダーとtemplates
フォルダーの内容 (合計 4 つのファイル) を ZIP 圧縮します。 - 次の Azure CLI コマンドを使用して ZIP ファイルをデプロイします。正しいリソース グループ、Web アプリ、および ZIP ファイル名を使用していることを確認してください。
az webapp deploy --resource-group < Web_App_RG > --name < Web_App_Name > --src-path < Source_ZIP_file >
- ステップ 2 で「デプロイ中のビルド」を有効にしたため、Web アプリのログから、必要な Python パッケージがターゲットの Python 仮想環境にプルされたことを確認できます。

ステップ 5. Web アプリ UI:
- Flask Web アプリのホームページは非常にミニマルです。質問を入力し、 [質問]ボタンをクリックすると、Web アプリによって新しい質問と回答のペアが Web ページに追加されます。
