Azure AI Studio で提供されている Prompt Flow を用いる事で、開発エクスペリエンスの向上、メンテナンス性の向上が実現可能です。 本レポジトリでは Prompt Flow テンプレートのデプロイ、コンテナへの展開、クライアントアプリケーションからの呼び出しまでをカバー範囲とします。
以下に Copilot Stack をベースにした本レポジトリのカバー範囲を図示します。
- GitHubアカウント
- Azureサブスクリプション
- RAG に使用するデータ (Option)
- GitHubで本リポジトリを開きます。
- 右上の Fork ボタンをクリックし、リポジトリを自分のアカウントにフォークします。
- フォークしたリポジトリにアクセスします。
- Code ボタンをクリックし、Create codespace on main を選択して新しい CodeSpace を作成します。
CodeSpace が立ち上がったら、以下のコマンドを実行して Python 仮想環境を作成し、依存関係をインストールします。
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtまた、以下のコマンドを使用して Azure CLI と ML 拡張機能をインストールします。
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
az extension add -n ml
Azure CLI を使用して、Azureサブスクリプションにログインします。
az login --use-device-code上記のコマンドを実行すると、下記のようなログが表示されます。コード認証画面にアクセスして、表示されるコードを入力してください。
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code <コード> to authenticate.scripts/project.sh に環境変数をセットします。
※設定する環境変数は、RESOURCE_GROUP_NAME、HUB_NAME、PROJECT_NAME、OPENAI_SERVICE_NAME、SEARCH_SERVICE_NAMEです。
~~~
SUBSCRIPTION_ID=$(az account show --query id -o tsv)
RESOURCE_GROUP_NAME=<任意のリソースグループ名>
LOCATION="eastus"
HUB_NAME=<任意のHub名>
PROJECT_NAME=<任意のプロジェクト名>
OPENAI_SERVICE_NAME=<任意のOpenAIのサービス名>
SEARCH_SERVICE_NAME=<任意のAI Searchのサービス名>
~~~環境変数をセットしたら、以下のコマンドを実行して Azure リソースを作成します。
sh scripts/create_project.shデプロイが完了すると、下記のリソースが作成されます。 Azure Portal上からすべてのリソースが作成されていることを確認してください。
- Azure AI Hub
- Azure AI Project
- Azure AI Services
- Azure Key Vault
- Storage Account
- Azure AI Search
また、ルートディレクトリに.envが作成されます。このファイルには、Azureリソースの情報が記載されています。
下記の手順で Azure AI Studio で OpenAI と AI Search の接続を作成します。
-
Azure AI Studio にアクセスします。
-
OpenAIの接続を作成します。接続一覧から、Azure AI Services を選択し、5で作成したリソースに対して 接続を追加する をクリックします。

-
同様の手順で AI Search の接続を作成します。接続一覧から、Azure AI Services を選択し、A-5で作成したリソースに対して 接続を追加する をクリックします。

プロジェクトのルートディレクトリにある.envファイルに、以下の環境変数を追加します。
AZURE_OPENAI_CONNECTION_NAME=your_openai_connection_name
AZURE_SEARCH_CONNECTION_NAME=your_search_connection_nameyour_openai_connection_nameとyour_search_connection_nameは、Azure AI Studio で作成した接続の名前に置き換えてください。
接続名は、AI Studio でプロジェクトを選択した後に、左のナビゲーションバーから 設定 をクリックし、接続の一覧を表示し、該当の接続を選択することで確認可能です。

データに基づいてインデックスを作成します。
indexing/data ディレクトリにインデックス化したいデータを配置してください。
以下のコマンドを実行することで、インデックスを作成します。
python -m indexing.build_index --index-name <任意のインデックス名> --path-to-data indexing/dataインデックス名を環境変数に追加します。
AZUREAI_SEARCH_INDEX_NAME=your_index_namesrc/flow_template にクエリ拡張のフローが用意されているので、それをアップロードする準備を行います。
以下のコマンドを実行して、フローに今回作成した環境の内容を反映させ、ZIP化します。
python scripts/create_flow.py
python scripts/create_flow_zip.pyこれにより、flow_template.zip がプロジェクトのルートディレクトリに生成されます。
- AI Studio にアクセスします。
- 左のナビゲーションバーから プロンプトフロー を選択し、作成をクリックしてください。下にスクロールするとインポートのセクションがあるので、そこにある ローカルからアップロード を選択し、ファイルのアップロードを Zipファイル を選択して、B-3で作成したZIPファイルをアップロードしてください。
フォルダー名は任意の名前を設定し、フローの種類は Standard Flow に設定してください。

以下の手順に従い、作成した Prompt Flow を Docker コンテナとしてデプロイします。










