コンピューティング セッションのベース イメージをカスタマイズする

このセクションでは、DockerAzure 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 の詳細については、「環境を管理する」を参照してください。

次のステップ