Share via


Azure AI Studio でプロンプト フロー ランタイムを作成して管理する

Note

Azure AI Studio は、現在、パブリック プレビュー段階です。 このプレビューはサービス レベル アグリーメントなしで提供されており、運用環境ではお勧めしません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。

Azure AI Studio では、プロンプト フロー ランタイムを作成および管理できます。 プロンプト フローを使用するにはランタイムが必要です。

プロンプト フロー ランタイムには、必要なすべての依存関係パッケージを含む Docker イメージなど、アプリケーションの実行に必要なコンピューティング リソースがあります。 Azure AI Studio では、フローの実行に加えて、プロンプトまたはコードの内容を更新するときに、フロー内に組み込まれているツールの正確性と機能を検証して確認するために、ランタイムが利用されます。

Azure AI Studio では、次の種類のランタイムがサポートされています。

ランタイム型 基になるコンピューティングの種類 ライフサイクル管理 環境のカスタマイズ
自動ランタイム (プレビュー) サーバーレス コンピューティングコンピューティング インスタンス 自動 パッケージを簡単にカスタマイズする
コンピューティング インスタンス ランタイム コンピューティング インスタンス 手動 Azure Machine Learning 環境を使って手動でカスタマイズする

新しいユーザーの場合は、自動ランタイム (プレビュー) を使うことをお勧めします。 フロー フォルダーの flow.dag.yaml 内にある requirements.txt ファイルにパッケージを追加することで、環境を簡単にカスタマイズできます。

コンピューティング リソースを自身で管理する場合は、自動ランタイムのコンピューティングの種類としてコンピューティング インスタンスを使用するか、コンピューティング インスタンス ランタイムを使用できます。

ランタイムを作成する

フロー ページで自動ランタイムを作成する

自動がランタイムの既定オプションです。 フロー ページのランタイム ドロップダウン リストからオプションを選択することで、自動ランタイムを開始できます。

  • 開始を選択します。 フロー フォルダーの flow.dag.yaml で定義されている環境を使用して、自動ランタイムの作成を始めます。これは、ワークスペースに十分なクォータがある、サーバーレス コンピューティングの仮想マシン (VM) サイズで実行されます。

    フロー ページの自動ランタイムを開始する既定の設定のプロンプト フローのスクリーンショット。

  • [詳細設定から始める] を選択します。 詳細設定では、次のことを実行できます。

    • コンピューティングの種類を選択します。 サーバーレス コンピューティングとコンピューティング インスタンスのどちらかを選択できます。
      • サーバーレス コンピューティングを選択する場合は、次のように設定します。

        • ランタイムで使われる VM サイズをカスタマイズする。

        • アイドル時間をカスタマイズする。使用されていない場合は、そのランタイムを削除することでコードを保存します。

        • ユーザー割り当てマネージド ID を設定する。 自動ランタイムではこの ID を使用してベース イメージをプルし、パッケージをインストールします。 ユーザー割り当てマネージド ID に、Azure Container Registry のプル アクセス許可があることを確認してください。

          この ID を設定しない場合は、既定でユーザー ID を使用します。 ワークスペースのユーザー割り当て ID を作成および更新する方法の詳細を確認してください

          フロー ページの自動ランタイムを開始するのにサーバーレス コンピューティングを使用する高度な設定のプロンプト フローのスクリーンショット。

      • コンピューティング インスタンスを選択する場合は、アイドル シャットダウン時間のみを設定できます。

        • 既存のコンピューティング インスタンス上で実行されているため、VM のサイズは固定され、ランタイム側で変更することはできません。

        • このランタイムに使用される ID はコンピューティング インスタンスでも定義され、既定ではユーザー ID が使用されます。 コンピューティング インスタンスに ID を割り当てる方法の詳細

        • アイドル シャットダウン時間は、ランタイムのライフ サイクルを定義するために使用されます。設定した時間にランタイムがアイドル状態の場合は、自動的に削除されます。 そして、コンピューティング インスタンスでアイドル シャットダウンが有効になっている場合は、続行されます。

          フロー ページの自動ランタイムを開始するのにコンピューティング インスタンスを使用する高度な設定のプロンプト フローのスクリーンショット。

ランタイム ページにコンピューティング インスタンス ランタイムを作成する

  1. Azure AI Studio にサインインし、[ビルド] ページからプロジェクトを選択します。 プロジェクトがない場合は、作成します。

  2. 折りたたみできる左メニューで、[AI プロジェクトの設定] を選択します。

  3. [コンピューティング インスタンス] セクションで、[すべて表示] を選択します。

    すべてのコンピューティング インスタンスを表示するオプションが表示されたプロジェクト設定のスクリーンショット。

  4. コンピューティング インスタンスが使用可能で実行されていることを確認します。 コンピューティング インスタンスがない場合は、Azure AI Studio で作成することができます。

  5. [プロンプト フロー ランタイム] タブを選択します。

    [コンピューティング インスタンス] ページからプロンプト フロー ランタイムを選択する場所を示すスクリーンショット。

  6. [作成] を選択します

    ランタイムを作成するボタンのスクリーンショット。

  7. ランタイムのコンピューティング インスタンスを選択してから、[作成] を選択します。

    ランタイム作成時のコンピューティング インスタンスを選択するオプションのスクリーンショット。

  8. [確認] を選択することで、コンピューティング インスタンスが再起動されることを示す警告を確認します。

    ランタイム作成により自動的に再起動されることを確認するオプションのスクリーンショット。

  9. ランタイムの詳細ページで、ランタイムの状態を監視します。 ランタイムの状態は、準備ができるまで利用不可になります。 このプロセスには数分かかる場合があります。

    まだ使用できないことを示す状態のランタイムのスクリーンショット。

  10. ランタイムの準備ができると、状態は実行中に変わります。 更新された状態を表示するには、[更新] を選択する必要がある場合があります。

    実行中の状態のランタイムのスクリーンショット。

  11. [プロンプト フロー ランタイム] タブでランタイムを選択して、その詳細を表示します。

    環境などのランタイムの詳細のスクリーンショット。

UI でランタイムを更新する

フロー ページで自動ランタイムを更新する

フロー ページで、次のオプションを使用して、自動ランタイムを管理できます。

  • [パッケージのインストール] を使うと、プロンプト フロー UI で requirements.txt を開き、その中のパッケージを追加できます。
  • [インストールされているパッケージを表示] は、ランタイムにインストールされているパッケージを表示します。 これには、基本イメージにベイクされたパッケージと、フロー フォルダー内の requirements.txt ファイルで指定されたパッケージが含まれます。
  • [リセット] を使用すると、現在のランタイムが削除され、同じ環境を使用して新しいランタイムが作成されます。 パッケージの競合が発生した場合は、このオプションを試すことができます。
  • [編集] を使用すると、ランタイム構成ページが開き、そこでランタイムの VM 側とアイドル時間を定義できます。
  • [停止] を使用すると、現在のランタイムが削除されます。 基になるコンピューティングにアクティブなランタイムがない場合は、コンピューティング リソースも削除されます。

フロー ページの自動ランタイムのアクションのスクリーンショット。

また、フロー フォルダー内の requirements.txt ファイルにパッケージを追加することで、このフローの実行に使用する環境を簡単にカスタマイズできます。 このファイルにさらにパッケージを追加した後は、次のいずれかのオプションを選択できます。

  • [Save and install] (保存してインストール) を使用すると、フロー フォルダー内の pip install -r requirements.txt がトリガーされます。 インストールするパッケージによって、このプロセスは数分かかる場合があります。
  • [Save only] (保存のみ) を使用すると、requirements.txt ファイルの保存だけが行われます。 後から自分でパッケージをインストールできます。

フロー ページの自動ランタイムのパッケージを保存してインストールするオプションのスクリーンショット。

Note

requirements.txt の場所とファイル名を変更できますが、必ずフロー フォルダー内の flow.dag.yaml ファイル内でもそれらを変更してください。

requirements.txt 内では promptflowpromptflow-tools のバージョンを固定しないでください。これは既にランタイム ベース イメージ内に含めてあります。

Azure DevOps のプライベート フィードにパッケージを追加する

Azure DevOps でプライベート フィードを使用する場合は、次の手順に従います。

  1. ユーザー割り当てマネージド ID を作成し、この ID を Azure DevOps 組織に追加します。 詳細については、「サービス プリンシパルとマネージド ID を使用する」を参照してください。

    Note

    [ユーザーの追加] ボタンが表示されていない場合は、おそらくこのアクションを実行するために必要なアクセス許可がありません。

  2. ユーザー割り当て ID をプロジェクトに追加するか、ID を更新します

  3. プライベート フィードの URL に {private} を追加します。 たとえば、Azure DevOps の test_feed から test_package をインストールする場合は、次のように requirements.txt-i https://{private}@{test_feed_url_in_azure_devops} を追加します。

    -i https://{private}@{test_feed_url_in_azure_devops}
    test_package
    
  4. 自動ランタイムが実行されていない場合は [詳細設定から始める] でユーザー割り当てマネージド ID を指定し、自動ランタイムが実行されている場合は [編集] ボタンを使用します。

    ワークスペースのユーザー割り当てマネージド ID を使用するトグルを示すスクリーンショット。

自動ランタイム (プレビュー) の基本イメージを変更する

既定では、最新のプロンプト フロー イメージが基本イメージとして使われます。 別の基本イメージを使う場合は、独自の基本イメージをビルドする必要があります。この Docker イメージは、プロンプト フローの基本イメージ (mcr.microsoft.com/azureml/promptflow/promptflow-runtime:<newest_version>) からビルドする必要があります。 できる限り最新バージョンの基本イメージを使用します。 新しい基本イメージを使うには、reset コマンドを使ってランタイムをリセットする必要があります。 このプロセスは、新しい基本イメージをプルしてパッケージを再インストールするので数分かかります。

フロー ページの自動ランタイムの基本イメージをカスタマイズするアクションのスクリーンショット。

environment:
    image: <your-custom-image>
    python_requirements_txt: requirements.txt

ランタイム ページのコンピューティング インスタンス ランタイムを更新する

Azure AI Studio では、基本イメージ (mcr.microsoft.com/azureml/promptflow/promptflow-runtime-stable) に対する定期的な更新プログラムを取得し、最新の機能とバグ修正を組み込んでいます。 最善のエクスペリエンスとパフォーマンスを得るには、ランタイムを最新バージョンに定期的に更新します。

ランタイムの詳細ページに移動し、[更新] を選択します。 [Edit compute instance runtime] (コンピューティング インスタンス ランタイムの編集) ペインで、ランタイム環境を更新できます。 [既定の環境を使用する] を選択すると、システムにより、ランタイムの最新バージョンへの更新が試行されます。

ランタイムの詳細ページを開くたびに、AI Studio でランタイムの新しいバージョンがあるかどうかが確認されます。 使用できる新しいバージョンがある場合、ページの上部に通知が表示されます。 また、[バージョンの確認] ボタンを選択して、手動で最新バージョンを確認することもできます。

コンピューティング インスタンス ランタイムを自動ランタイムに切り替える

コンピューティング インスタンス ランタイムと比べて、自動ランタイムには以下の利点があります。

  • ランタイムおよび基盤のコンピューティングのライフサイクルを自動的に管理します。 それらを手動で作成して管理する必要はありません。
  • カスタム環境を作成するのではなく、フロー フォルダーの requirements.txt ファイルにパッケージを追加することで、パッケージを簡単にカスタマイズします。

コンピューティング インスタンス ランタイムをお使いの場合は、自動ランタイムに切り替えることをお勧めします。 次の手順を使用して、それを自動ランタイムに切り替えることができます。

  • フロー フォルダーの requirements.txt ファイルを準備します。 requirements.txtpromptflowpromptflow-tools のバージョンを固定しないようにします。これらはランタイムの基本イメージに既に含まれています。 自動ランタイム起動時に requirements.txt ファイル内のパッケージがインストールされます。

  • コンピューティング インスタンス ランタイムを作成するためにカスタム環境を作成する場合は、環境の詳細ページからイメージを取得し、フロー フォルダーの flow.dag.yaml ファイルでそれを指定することもできます。 詳細については、「自動ランタイムの基本イメージを変更する」を参照してください。 イメージに対する acr pull アクセス許可があることを確認してください。

  • コンピューティング リソースに関して、コンピューティング リソースのライフサイクルを手動で管理する場合は、既存のコンピューティング インスタンスを引き続き使用できます。または、ライフサイクルがシステムで管理されるサーバーレス コンピューティングを試すこともできます。

次のステップ