次の方法で共有


Azure AI Studio でプロンプト フロー コンピューティング セッションを作成して管理する

重要

この記事で説明する機能の一部は、プレビューでのみ使用できる場合があります。 このプレビューはサービス レベル アグリーメントなしで提供されており、運用環境ではお勧めしません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。

プロンプト フローを実行するには、コンピューティング セッションが必要です。 Azure AI Studio を使用してプロンプト フロー コンピューティング セッションを作成および管理します。

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

前提条件

Azure AI Studio にサインインし、プロンプト フローを選択します。

コンピューティング セッションを作成する

コンピューティング セッションの開始時には、既定の設定を使用することも、詳細設定をカスタマイズすることもできます。

既定の設定でコンピューティング セッションを開始する

既定では、コンピューティング セッションはフロー フォルダー内の flow.dag.yaml で定義された環境を使用します。 これは、ワークスペースに十分なクォータを持つ仮想マシン (VM) サイズのサーバーレス コンピューティング上で実行されます。

  1. Azure AI Studio のプロジェクトに移動します。
  2. 左側のウィンドウから [フロー] を選択し、実行するフローを選択します。
  3. プロンプト フローの上部のツール バーから [コンピューティング セッションを開始する] を選択します。

詳細設定でコンピューティング セッションを開始する

詳細設定では、コンピューティングの種類を選択できます。 サーバーレス コンピューティングとコンピューティング インスタンスのどちらかを選択できます。

  1. Azure AI Studio のプロジェクトに移動します。

  2. 左側のウィンドウから [フロー] を選択し、実行するフローを選択します。

  3. プロンプト フローの上部のツール バーから、[コンピューティング セッションを開始する] ボタンの右側にあるドロップダウン矢印を選択します。 [詳細設定から始める] を選択して、コンピューティング セッションをカスタマイズします。

    フロー ページでコンピューティング セッションを開始するための既定の設定を含むプロンプト フローのスクリーンショット。

    サーバーレス コンピューティングとコンピューティング インスタンスのどちらかを選択できます。

    • サーバーレス コンピューティングを選択する場合は、次のように設定します。

      • コンピューティング セッションで使用する VM サイズをカスタマイズします。
      • アイドル時間をカスタマイズする。使用されていない場合は、そのコンピューティング セッションを削除することでコードを保存します。
      • ユーザー割り当てマネージド ID を設定する。 コンピューティング セッションではこの ID を使用して基本イメージをプルし、パッケージをインストールします。 ユーザー割り当てマネージド ID に、Azure Container Registry のプル アクセス許可があることを確認してください。

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

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

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

      • これは既存のコンピューティング インスタンスであるため、VM のサイズは固定され、コンピューティング セッション側で変更することはできません。

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

      • アイドル シャットダウン時間は、コンピューティング セッションの有効期間を定義するために使用されます。 コンピューティング セッションが設定した時間アイドルであれば、自動的に削除されます。 コンピューティング インスタンスでアイドル シャットダウンを有効にしている場合、そのインスタンスはシャットダウンされますが、削除されることはありません。

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

  4. [次へ] を選択して基本イメージ設定を指定します。 既定の基本イメージを使用するか、カスタム ベース イメージを指定します。 カスタマイズした基本イメージを選択した場合は、イメージの URL とイメージ タグを入力してください。 パブリック docker レジストリまたは Azure Container Registry (ACR) にあるイメージのみがサポートされます。 ACR でイメージを指定する場合は、お客様 (または ID を管理するユーザー) に ACR プル アクセス許可があることを確認してください。

  5. [次へ] を選択して、設定を確認します。

  6. [コンピューティング セッションを適用して開始する] を選択して、コンピューティング セッションを開始します。

コンピューティング セッションを管理する

コンピューティング セッションを管理するには、フロー ページの上部のツール バーで[実行中のコンピューティング セッション] を選択します。

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

フロー ページでのコンピューティング セッションのアクションのスクリーンショット。

フロー フォルダー内の 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>) からビルドする必要があります。 できる限り最新バージョンの基本イメージを使用します。

  1. プロンプト フローを開きます。

  2. 上部のツール バーで [生ファイル モード] を選択して、ファイル エディターで編集できるようにします。

  3. [ファイル] セクションを開き、flow.dag.yaml を選択します。

    フロー ページ上のコンピューティング セッションの基本イメージをカスタマイズするためのアクションのスクリーンショット。

  4. flow.dag.yaml ファイルの environment セクションでイメージを指定します。 たとえば、イメージ <your-custom-image> を使用するには、次のコードに追加します。

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

コンピューティング インスタンス ランタイムをアップグレードする

コンピューティング インスタンス ランタイムを以前作成していた場合、次の手順を使用してコンピューティング セッションに切り替えます。

  • フロー フォルダーの requirements.txt ファイルを準備します。 詳細については、コンピューティング セッションの管理に関するページを参照してください。

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

  • 有効期間を手動で管理する場合は、既存のコンピューティング インスタンスを引き続き使用できます。