自定义工具包的创建和使用

开发流时,不仅可以使用提示流提供的内置工具,还可以开发自己的自定义工具。 在本文中,我们将指导你完成开发自己的工具包的过程,提供有关如何利用自定义工具包的详细步骤和建议。

成功安装后,自定义“工具”会显示在工具列表中:UI 工具列表中的自定义工具的屏幕截图。

创建自己的工具包

工具包应为 Python 包。 若要开发自定义工具,请按照创建和使用工具包中的步骤:创建自己的工具包以及生成并共享工具包。 可以在如何开发工具中找到更高级的开发指南。

准备计算会话

为了将自定义工具添加到工具列表中以供使用,需要准备计算运行时。 我们在此使用 my-tools-package 作为示例。

如果使用计算会话,则可通过将自定义工具包名称添加到流文件夹的 requirements.txt 文件中来轻松安装该公开发布的包。 要开始安装,请选择“保存并安装”按钮。 完成后,可以在工具列表中看到显示的自定义工具。 要了解详细信息,请参阅如何管理计算会话 如何在计算会话上安装包的屏幕截图。

另一种方法不仅适用于公开发布的包,也适用于本地或专用源包。 首先应生成映像,方法是执行如何自定义用于计算会话的基础映像中的两个步骤,然后更改用于计算会话的基础映像

从提示流 UI 进行测试

  1. 创建标准流。

  2. 启动计算会话。 Azure 机器学习工作室中流的屏幕截图,其中正在启动计算会话。

  3. 添加工具。 Azure 机器学习工作室中的流的屏幕截图,其中显示了“更多工具”下拉列表。

  4. 根据要求更改流并运行流。 Azure 机器学习工作室中的流的屏幕截图,显示添加一个工具。

常见问题解答

如何在 VS Code 扩展中安装自定义工具包?

  1. 为 VS Code 扩展安装提示流提示流 VS Code 扩展的屏幕截图。

  2. 转到终端,在扩展的 conda 环境中安装工具包。 假设 conda env 的名称为“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. 转到扩展并打开一个流文件夹。 选择“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/),验证所选名称尚未采用。 如果所需名称不可用,请考虑选择一个替代名称或变体,以清楚地将你的包与现有包区分开来。

后续步骤