设置 Promptflow 配置#

实验性功能

这是一个实验性功能,随时可能更改。了解更多

Promptflow 支持设置全局配置,以避免为每个命令传递相同的参数。全局配置存储在默认位于 ~/.promptflow/pf.yaml 的 YAML 文件中。

此外,Promptflow 支持将配置设置到指定路径,这些配置仅当工作目录是指定路径或其子目录时才对 Promptflow 程序生效。配置存储在 YAML 文件中,该文件位于 <config_folder>/pf.yaml

配置文件在 Promptflow 扩展和 SDK/CLI 之间共享。Promptflow 扩展通过 UI 控制每个配置,因此以下部分将展示如何使用 Promptflow CLI 设置全局配置。

设置配置#

设置全局配置

pf config set <config_name>=<config_value>

例如

pf config set connection.provider="azureml://subscriptions/<your-subscription>/resourceGroups/<your-resourcegroup>/providers/Microsoft.MachineLearningServices/workspaces/<your-workspace>"

为特定路径设置配置

pf config set <config_name>=<config_value> --path <config_folder>

例如

pf config set connection.provider="azureml://subscriptions/<your-subscription>/resourceGroups/<your-resourcegroup>/providers/Microsoft.MachineLearningServices/workspaces/<your-workspace>" --path .

显示配置#

以下命令将获取所有配置并以 JSON 格式显示它们

pf config show

运行上述配置设置命令后,show 命令将返回以下结果

{
  "connection": {
    "provider": "azureml://subscriptions/<your-subscription>/resourceGroups/<your-resourcegroup>/providers/Microsoft.MachineLearningServices/workspaces/<your-workspace>"
  }
}

支持的配置#

connection.provider#

连接提供者,默认为“local”。有 3 种可能的提供者值。

local#

使用 connection.provider=local 将连接提供者设置为本地。

连接将本地保存。PFClient(或 pf connection 命令)将管理本地连接。因此,流将使用这些本地连接执行。

完整的 Azure 机器学习工作区资源 ID#

使用以下方式将连接提供者设置为特定工作区

connection.provider=azureml://subscriptions/<your-subscription>/resourceGroups/<your-resourcegroup>/providers/Microsoft.MachineLearningServices/workspaces/<your-workspace>

getlist 连接时,PFClient(或 pf connection 命令)将返回工作区连接,并且流将使用这些工作区连接执行。*这些命令不会显示工作区连接的机密,这意味着您可能会看到自定义连接的空字典 {}。*

注意

工作区连接不支持 createupdatedelete 命令,请在工作区门户、Azure AI Studio、az ml CLI 或 azure-ai-ml SDK 中进行管理。

azureml#

除了完整的资源 ID,您还可以使用 connection.provider=azureml 将连接提供者指定为“azureml”。在这种情况下,Promptflow 将尝试通过从当前目录搜索 .azureml/config.json,然后逐步从其父文件夹搜索来检索工作区配置。因此,可以通过将配置文件放置在项目文件夹中来为不同的流设置工作区配置。

配置文件的预期格式如下

{
  "workspace_name": "<your-workspace-name>",
  "resource_group": "<your-resource-group>",
  "subscription_id": "<your-subscription-id>"
}

service.host#

Promptflow 服务主机,默认为“127.0.0.1”。您可以使用 service.host=<your-host> 设置服务主机。

例如

pf config set service.host="0.0.0.0"

💡 提示 除了 CLI 命令行设置方法,我们还支持通过 VS Code 扩展 UI 设置此连接提供者。点击此处了解更多信息