次の方法で共有


カスタム ツール パッケージの作成と使用

フローを開発するときは、プロンプト フローによって提供される組み込みツールを使うだけでなく、独自のカスタム ツールを開発することもできます。 このドキュメントでは、独自のツール パッケージを開発するプロセスについて説明し、カスタム ツール パッケージを利用する方法に関する詳細な手順とアドバイスを提供します。

インストールが正常に完了すると、カスタム "ツール" がツール リストに表示される場合があります。UI ツール リストのカスタム ツールのスクリーンショット。

独自のツール パッケージを作成する

ツール パッケージは Python パッケージである必要があります。 カスタム ツールを開発するには、ツール パッケージの作成および使用に関するページの独自のツール パッケージの作成およびツール パッケージのビルドおよび共有の手順に従います。 より高度な開発ガイダンスについては、ツールを開発する方法に関する記事を参照してください。

コンピューティング セッションを準備する

カスタム ツールを使用するためにツール リストに追加するには、コンピューティング セッションを準備する必要があります。 ここでは、例として my-tools-package を使用します。

コンピューティング セッションを使用する場合は、カスタム ツール パッケージ名をフロー フォルダー内の requirements.txt ファイルに追加すると、公式にリリースされたパッケージを簡単にインストールできます。 次に、インストールを開始するため、[保存してインストール] ボタンを選択します。 完了すると、ツール リストにカスタム ツールが表示されます。 詳細については、コンピューティング セッションを管理する方法に関するページを参照してください。 コンピューティング セッションにパッケージをインストールする方法のスクリーンショット。

別の方法は、公式にリリースされたパッケージだけでなく、ローカルまたはプライベート フィード パッケージにも適用できます。 まず、コンピューティング セッションに合わせて基本イメージをカスタマイズする方法に示された 2 つの手順に従ってイメージをビルドし、次に、その基本イメージをコンピューティング セッションに合わせて変更する必要があります。

プロンプト フローの UI からテストする

  1. 標準フローを作成します。

  2. コンピューティング セッションを開始します。 コンピューティング セッションを開始する、Azure Machine Learning スタジオでのフローのスクリーンショット。

  3. 使用するツールを追加します。 [その他のツール] ドロップダウンを示す、Azure Machine Learning スタジオでのフローのスクリーンショット。

  4. 要件に基づいてフローを変更し、フローを実行します。 ツールの追加を示す Azure Machine Learning スタジオでのフローのスクリーンショット。

よく寄せられる質問

VS Code 拡張機能にカスタム ツール パッケージをインストールする方法

  1. VS Code 用プロンプト フロー拡張機能をインストールする プロンプト フロー VS Code 拡張機能のスクリーンショット。

  2. ターミナルに移動し、拡張機能の conda 環境にツール パッケージをインストールします。 conda 環境の名前が prompt-flow であるものとします。

    (local_test) PS D:\projects\promptflow\tool-package-quickstart> conda activate prompt-flow
    (prompt-flow) PS D:\projects\promptflow\tool-package-quickstart> pip install my-tools-package==0.0.1
    
  3. 拡張機能に移動し、1 つのフロー フォルダーを開きます。 "flow.dag.yaml" を選んで、フローをプレビューします。 次に、+ ボタンを選ぶと、ツールが表示されます。 一覧にツールが表示されない場合は、ウィンドウを再度読み込んで以前のキャッシュをクリーンする必要があります。

    ツールを示す VS Code のスクリーンショット。

カスタム ツールが UI に表示されないのはなぜですか?

次のスクリプトを使ってツール パッケージをテストし、ツールの YAML ファイルをパッケージ化したことと、パッケージ ツールのエントリ ポイントを正しく構成したことを、確認することもできます。

  1. このスクリプトを実行する前に、必ず conda 環境にツール パッケージをインストールしてください。

  2. どこかに Python ファイルを作成し、次の内容をそれにコピーします。

    def test():
        # `collect_package_tools` gathers all tools info using the `package-tools` entry point. This ensures that your package is correctly packed and your tools are accurately collected. 
        from promptflow.core.tools_manager import collect_package_tools
        tools = collect_package_tools()
        print(tools)
    if __name__ == "__main__":
        test()
    
  3. このスクリプトを conda 環境で実行します。 ローカル環境にインストールされているすべてのツールのメタデータが返されるので、自分のツールが一覧に含まれることを確認する必要があります。

パッケージを PyPI にアップロードできないのはなぜですか?

  • 入力した PyPI アカウントのユーザー名とパスワードが正しいことを確認します。
  • 403 Forbidden Error が発生する場合は、名前が既存のパッケージと競合しているためである可能性があります。 別の名前を選ぶ必要があります。 ユーザー間の混乱や競合を避けるため、パッケージ名は PyPI で一意にする必要があります。 新しいパッケージを作成する前に、PyPI (https://pypi.org/) を検索して、選んだ名前がまだ使われていないことを確認することをお勧めします。 希望する名前を使えない場合は、自分のパッケージと既存のものを明確に区別する代替名またはバリエーションを選ぶことを検討してください。

次のステップ