コンピューティング セッションのベース イメージをカスタマイズする
このセクションでは、Docker と Azure Machine Learning 環境に関連する知識があることを前提としています。
手順 1: Docker コンテキストを準備する
image_build
フォルダーを作成する
ローカル環境で、次のファイルを含むフォルダーを作成します。フォルダーの構造は次のようになります。
|--image_build
| |--requirements.txt
| |--Dockerfile
| |--environment.yaml
requirements.txt
に必要なパッケージを定義する
省略可能: プライベート pypi リポジトリにパッケージを追加します。
次のコマンドを使用して、パッケージをローカルにダウンロードします。pip wheel <package_name> --index-url=<private pypi> --wheel-dir <local path to save packages>
requirements.txt
ファイルを開き、追加のパッケージと特定のバージョンを追加します。 次に例を示します。
###### Requirements with Version Specifiers ######
langchain == 0.0.149 # Version Matching. Must be version 0.0.149
keyring >= 4.1.1 # Minimum version 4.1.1
coverage != 3.5 # Version Exclusion. Anything except version 3.5
Mopidy-Dirble ~= 1.1 # Compatible release. Same as >= 1.1, == 1.*
<path_to_local_package> # reference to local pip wheel package
requirements.txt
ファイルの構造化に関する詳細については、pip ドキュメントの要件ファイル形式を参照してください。
Dockerfile
を定義する
Dockerfile
を作成し、次のコンテンツを追加してから、ファイルを保存します。
FROM <Base_image>
COPY ./* ./
RUN pip install -r requirements.txt
注意
この Docker イメージは、プロンプト フローの基本イメージ (mcr.microsoft.com/azureml/promptflow/promptflow-runtime:<newest_version>
) からビルドする必要があります。 できる限り最新バージョンの基本イメージを使用します。
手順 2: カスタム Azure Machine Learning 環境を作成する
environment.yaml
に環境を定義する
ローカル コンピューティングでは、CLI (v2) を使用して、Docker イメージに基づいてカスタマイズされた環境を作成できます。
注意
- 環境作成の前提条件を満たしていることを確認します。
- ワークスペースに接続していることを確認します。
az login # if not already authenticated
az account set --subscription <subscription ID>
az configure --defaults workspace=<Azure Machine Learning workspace name> group=<resource group>
environment.yaml
ファイルを開き、次のコンテンツを追加します。 <environment_name> プレースホルダーを、目的の環境名に置き換えます。
$schema: https://azuremlschemas.azureedge.net/latest/environment.schema.json
name: <environment_name>
build:
path: .
環境を作成する
cd image_build
az ml environment create -f environment.yaml --subscription <sub-id> -g <resource-group> -w <workspace>
Note
環境イメージのビルドには、数分かかる場合があります。
ワークスペース UI ページに移動し、[環境] ページに移動して、作成したカスタム環境を見つけます。
[環境の詳細] ページでイメージを見つけ、プロンプト フローのコンピューティング セッションのベース イメージとして使用することもできます。 このイメージは、UI からフローをデプロイするための環境を構築するのにも使用されます。 コンピューティング セッションでベース イメージを指定する方法の詳細についてはこちらをご覧ください。
環境 CLI の詳細については、「環境を管理する」を参照してください。