promptflow 包#
v1.17.1 (2025.1.13)#
修复的 Bug#
Marshmallow 3.24 最近发布,移除了
_T
导入,这导致 Promptflow 出现了重大更改。我们已移除对_T
的依赖以解决此问题。
其他#
Promptflow 追踪功能现在默认禁用,
PF_DISABLE_TRACING
默认设置为 true。
v1.17.0 (2025.1.8)#
改进#
出于安全原因,放弃了对 Python 3.8 的支持。
修复的 Bug#
[promptflow-tracing] 修复当值为 None 或 Dict 时,令牌计数问题。
v1.16.2 (2024.11.25)#
改进#
解决安全漏洞。
v1.16.1 (2024.10.08)#
修复的 Bug#
[promptflow-tracing] 修复当值为 None 时,令牌计数问题。
v1.16.0 (2024.09.30)#
修复的 Bug#
[promptflow-core] 修复 promptflow 服务应用程序以默认日志级别记录输入的问题。
v1.15.0 (2024.08.15)#
修复的 Bug#
[promptflow-azure] 修复了将本地运行注册到云端时,从本地到云端的运行出现的
Connection aborted
错误。[promptflow-core] 修复了
AsyncPrompty
的 openai 错误处理程序不工作的问题。[promptflow-devkit] 修复了跟踪视图无法显示布尔输出的问题。
v1.14.0 (2024.07.25)#
改进#
[promptflow-devkit] 在使用
python_requirements_txt
构建流时,向 dockerfile 添加promptflow
,以防自定义需求中不存在 promptflow。[promptflow-core] 移除对 docutils 包的依赖。
v1.13.0 (2024.06.28)#
修复的 Bug#
修复了当导出器设置为 prompt flow 服务时与
trace.NoOpTracerProvider
不兼容的问题。在跟踪使用情况遥测中添加了缺失的用户代理。
改进#
[promptflow-devkit] 支持设置本地 prompt flow 服务主机的配置
[promptflow-azure] 通过缓存 arm 令牌,减少了从本地到云端运行的时间延迟。
v1.12.0 (2024.06.11)#
修复的 Bug#
[promptflow-core] 修复了在使用
pf flow build
构建的镜像运行时,ChatUI 无法在 Docker 容器中工作的问题。[promptflow-core] 修复了 #3355,即当生成器在流中使用且流在另一个流中调用时,会引发 IndexError。
[promptflow-azure] 修复了从本地到云端运行的创建时区的时区问题。
改进#
[promptflow-devkit] 在将运行详情上传到云端时添加了重试逻辑。
[promptflow-devkit] 添加了跟踪使用情况遥测。
v1.11.0 (2024.05.17)#
公告#
新增功能#
[promptflow-devkit]:当跟踪目标配置为云端时,将本地运行详情上传到云端。
[promptflow-core]:支持通过环境变量修改 promptflow 日志格式,更多详情请访问此处。
改进#
[promptflow-devkit]:使用 Azure AI 连接时,交互式浏览器凭据默认排除,用户可以设置
PF_NO_INTERACTIVE_LOGIN=False
来启用它。[promptflow-devkit]:为
pf flow serve
添加了新的--engine
参数。此参数可用于在flask
和fastapi
之间切换 Python 服务引擎,目前默认为flask
。[promptflow-azure]:优化跟踪 Cosmos DB 设置过程,在过程中打印设置状态,并在设置失败时显示服务错误消息。
[promptflow-devkit][promptflow-azure] - 默认返回连接对象中的秘密,以改善 flex flow 体验。
更多详情请参阅子包文档:promptflow-devkit promptflow-azure
[promptflow-azure] 检查工作区/项目跟踪 Cosmos DB 状态,并在 Azure 中创建运行时代入。
修复的 Bug#
修复了将 promptflow 从 >=1.10.0 降级到 <1.8.0 后会引发导入错误的问题。
修复了
pf flow serve
因异常NotADirectoryError
而中断的问题。[promptflow-devkit]:修复了聊天窗口错误难以理解的问题。
[promptflow-devkit]:修复了由于 dns 延迟检查 pfs 状态导致的性能问题。
[promptflow-devkit]:修复了测试非 yaml 流时原始 flex yaml 会被覆盖的问题。
[promptflow-devkit] 修复了运行快照不遵守 gitignore/amlignore 的问题。
v1.10.0 (2024.04.26)#
新增功能#
v1.9.0 (2024.04.17)#
新增功能#
修复的 Bug#
[promptflow-devkit] 修复了在某些
pf.run
场景中,运行名称缺少目录名称的问题。[promptflow-devkit] 尝试创建 Azure AI 连接时,抛出不支持的错误而不是 404。
其他#
[promptflow-core] 连接默认 API 版本已更改
AzureOpenAIConnection: 2023-07-01-preview -> 2024-02-01
CognitiveSearchConnection: 2023-07-01-preview -> 2023-11-01
v1.8.0 (2024.04.10)#
通知#
promptflow
包已被拆分为多个包。安装promptflow
时,您将获得以下包promptflow
:promptflow-tracing
:promptflow 的跟踪功能。promptflow-core
:运行流的核心功能。promptflow-devkit
:promptflow 的开发工具包。promptflow-azure
:promptflow 与 Azure 集成的 Azure 额外要求 (promptflow[azure]
)。
新增功能#
[SDK/CLI] 使用
resume_from
创建运行,请注意,只有使用promptflow>=1.8.0
创建的运行才能用作resume_from
的值。CLI:支持
pf run create --resume-from <original-run-name>
从另一个运行恢复创建运行。SDK:支持
pf.run(resume_from=<original-run-name>)
从另一个运行恢复创建运行。
[SDK/CLI][azure] 使用
resume_from
创建运行。CLI:支持
pfazure run create --resume-from <original-run-name>
从另一个运行恢复创建运行。SDK:支持
p.run(resume_from=<original-run-name>)
从另一个运行恢复创建运行。
v1.7.0 (2024.03.25)#
通知#
从
promptflow
命名空间导入时会打印导入警告,请使用警告消息中建议的新命名空间进行导入。
新增功能#
[Batch] 为批量运行添加了按行日志记录,存储在
flow_logs
文件夹下。[SDK/CLI] 支持
AzureOpenAIConnection.from_env
和OpenAIConnection.from_env
。更多详情请访问此处。
修复的 Bug#
[SDK/CLI] 环境变量
PF_HOME_DIRECTORY
对运行详情和日志无效。[SDK/CLI] 支持覆盖硬编码的“deployment_name”和“model”。
[SDK]
connection.provider
配置在将流作为函数调用时不起作用。[SDK/CLI] 支持覆盖节点中未提供的连接输入。
v1.6.0 (2024.03.01)#
新增功能#
[CLI] 支持配置环境变量以直接将
AzureCliCredential
用于pfazure
命令。PF_USE_AZURE_CLI_CREDENTIAL=true
[SDK/CLI] 支持为
pfazure run stream
设置超时。[SDK/CLI] 支持
pfazure flow update
更新流的元数据,如display_name
、description
或tags
。[SDK/CLI][azure] 支持为自动运行时运行的身份支持。
修复的 Bug#
[SDK/CLI] 脚本工具生成的工具元数据包含输入设置。
改进#
将
cryptography
的下限提升到 42.0.4。[Executor] 将批量运行的默认 worker 数量从 16 修改为 4。
修复的 Bug#
[SDK/CLI][azure] 修复了镜像更新时自动运行时会话 ID 缓存的问题。
v1.5.0 (2024.02.06)#
新增功能#
[SDK/CLI][azure] 支持在 run.yaml 中指定计算实例作为会话计算。
[SDK/CLI][azure] 停止支持为自动运行时指定
idle_time_before_shutdown_minutes
,因为每个会话在执行后都会自动删除。
修复的 Bug#
[SDK/CLI] 节点测试的输入允许直接传递引用节点输出的值。
[SDK/CLI][azure] 修复了云批量运行引用注册表流与自动运行时的问题。
[SDK/CLI] 修复了当指标中存在无效 JSON 值时,运行可视化页面中“Without Import Data”的问题。
[SDK/CLI][azure] 修复了 azureml 服务获取 UAI(用户分配的身份)令牌失败的 bug。
[SDK/CLI] 修复了当节点具有默认变体时,函数连接覆盖流的问题。
改进#
[SDK/CLI] 对于
pf run delete
、pf connection delete
,引入了一个选项以跳过确认提示。[SDK/CLI] 将 pfs 额外依赖项移至必需依赖项。
v1.4.0 (2024.01.22)#
新增功能#
[Executor] 在 api_calls 中递归计算 system_metrics。
[Executor] 添加流根级别的 api_calls,以便用户可以概览流的聚合指标。
[Executor] 添加 @trace 装饰器,使为工具调用的函数记录跟踪成为可能。
[Tool] 工具的 InputSetting 支持传递未定义的配置。
[SDK/CLI][azure] 将自动运行时的会话配置切换到系统等待。
[SDK/CLI] 为
pf flow serve
添加--skip-open-browser
选项以跳过打开浏览器。[SDK/CLI][azure] 支持将流提交到主权云。
[SDK/CLI] 支持
pf run delete
以不可逆地删除运行。[SDK/CLI][azure] 如果流快照中存在 requirements.txt,则自动将其放入 flow.dag.yaml。
[SDK/CLI] 支持
pf upgrade
以将 prompt flow 升级到最新版本。[SDK/CLI] 支持 yaml 文件中的环境变量。
修复的 Bug#
修复了在 Azure 中获取运行详情时输入输出不对齐或 pandas 异常的问题。
修复了运行 schema 的松散流路径验证问题。
修复了运行可视化页面中因无效 JSON 值(
-Infinity
、Infinity
和NaN
)导致的“Without Import Data”问题。修复了在狭窄终端窗口中显示长列时“ValueError: invalid width -1”的问题。
修复了使用图标初始化脚本工具时生成的无效工具代码。
改进#
[SDK/CLI] 对于
pfazure flow create
如果非微软租户用户使用,则在远程流文件夹路径中使用用户名而不是用户对象 ID。(例如
Users/<user-name>/promptflow
)。当流具有未知属性时,记录警告而不是引发错误。
使用本地流文件夹名称和时间戳作为 Azure 流文件共享文件夹名称。
[SDK/CLI] 对于
pf/pfazure run create
,当运行具有未知属性时,记录警告而不是引发错误。将
pyyaml
替换为ruamel.yaml
以采用 YAML 1.2 规范。
v1.3.0 (2023.12.27)#
新增功能#
[SDK/CLI] 支持
pfazure run cancel
以取消 Azure AI 上的运行。添加支持通过环境变量
PF_HOME_DIRECTORY
配置 prompt flow 主目录。请在导入
promptflow
之前设置,否则无效。
[Executor] 在流测试中处理 KeyboardInterrupt,以便最终状态为 Canceled。
修复的 Bug#
[SDK/CLI] 修复了当消耗上游节点的子项时,单节点运行不工作的问题。
改进#
将
ruamel.yaml
的下限更改为 0.17.10。[SDK/CLI] 改进
pfazure run download
以处理大型运行数据文件。[Executor] 当所有异步工具完成或取消后超时时,退出进程。
v1.2.0 (2023.12.14)#
新增功能#
[SDK/CLI] 支持
pfazure run download
从 Azure AI 下载运行数据。[SDK/CLI] 支持
pf run create
从下载的运行数据创建本地运行记录。
修复的 Bug#
[SDK/CLI] 运行命令时移除遥测警告。
清空节点 stdout 和 stderr,以避免大型可视化 HTML。
隐藏运行列表中不必要的字段,以提高可读性。
修复了在批量运行状态摘要中忽略超时行的问题。
v1.1.1 (2023.12.1)#
修复的 Bug#
[SDK/CLI] 修复了与
semantic-kernel==0.4.0.dev0
和azure-ai-ml==1.12.0
的兼容性问题。[SDK/CLI] 在 CLI 遥测中添加回工作区信息。
[SDK/CLI] 禁用 CLI 中自定义用户代理的功能,以避免操作上下文发生更改。
修复了 openai 指标计算器以适应 openai v1。
v1.1.0 (2023.11.30)#
新增功能#
添加
pfazure flow show/list
以显示或列出 Azure AI 中的流。在运行可视化页面图视图中显示节点状态。
添加了对 prompt flow 中图像输入和输出的支持。
[SDK/CLI] SDK/CLI 默认会收集遥测数据,用户可以使用
pf config set telemetry.enabled=false
退出。为流运行 API 添加
raise_on_error
,默认情况下,我们会为失败的运行引发异常。将流作为函数:像函数一样使用流,参数映射到流输入。
启用为运行指定默认输出路径。
使用
pf config set run.output_path=<output-path>
进行指定,运行输出路径将为<output-path>/<run-name>
。在配置中引入宏
${flow_directory}
用于run.output_path
,它将被替换为相应的流目录。流目录不能设置为运行输出路径,这意味着
pf config set run.output_path='${flow_directory}'
是无效的;但您可以使用子文件夹,例如pf config set run.output_path='${flow_directory}/.runs'
。
支持 pfazure 运行创建远程流。
对于远程工作区流:
pfazure run create --flow azureml:<flow-name>
对于远程注册表流:
pfazure run create --flow azureml://registries/<registry-name>/models/<flow-name>/versions/<flow-version>
支持通过环境变量
PF_LOGGING_LEVEL
设置日志级别,有效值包括CRITICAL
、ERROR
、WARNING
、INFO
、DEBUG
,默认为INFO
。移除 openai 版本限制
修复的 Bug#
[SDK/CLI] 修复了使用字典节点输入进行节点测试时会引发“Required input(s) missing”的问题。
[SDK/CLI] 当未指定显示名称时,将使用运行名称作为显示名称(以前使用流文件夹名称)。
[SDK/CLI] 修复了 pf flow build 创建了意外的 dist 文件夹层级的问题。
[SDK/CLI] 修复了部署 prompt flow 时连接值可能为 None 的问题。
改进#
如果在使用 CLI 命令时使用 azureml 连接提供程序,则强制执行“az login”。
如果在使用 promptflow SDK 时使用 azureml 连接提供程序,则添加环境变量“PF_NO_INTERACTIVE_LOGIN”以禁用交互式登录。
改进了 CLI 调用时间。
将
pydash
的上限提升到 8.0.0。将
SQLAlchemy
的上限提升到 3.0.0。将
flask
的上限提升到 4.0.0,flask-restx
的上限提升到 2.0.0。将
ruamel.yaml
的上限提升到 1.0.0。
v1.0.0 (2023.11.09)#
新增功能#
[Executor] 为自定义 python 工具在 tools.json 中添加
enable_kwargs
标签。[SDK/CLI] 支持
pfazure flow create
。从本地流文件夹在 Azure AI 上创建流。[SDK/CLI] 更改了列映射
${run.inputs.xx}
的行为,它将引用运行的数据列而不是运行的输入列。
修复的 Bug#
[SDK/CLI] 在运行 output.jsonl 中保留原始格式。
[Executor] 修复了聚合节点引用旁路节点时引发错误的问题。
改进#
[Executor] 将旁路节点的输出设置为 None。
v0.1.0b8 (2023.10.26)#
新增功能#
[Executor] 为批量运行日志添加平均执行时间和估计执行时间。
[SDK/CLI] 支持
pfazure run archive/restore/update
。[SDK/CLI] 支持自定义强类型连接。
[SDK/CLI] 启用遥测,但默认不收集,使用
pf config set cli.telemetry_enabled=true
启用。[SDK/CLI] 公开了函数
from promptflow import load_run
以从本地 YAML 文件加载运行对象。[Executor] 支持脚本工具的
ToolProvider
。
修复的 Bug#
pf config set:
修复了工作区
connection.provider=azureml
不按预期工作的问题。
[SDK/CLI] 修复了使用 sdk/cli 提交批量运行未正确显示日志的问题。
[SDK/CLI] 修复了当输入为非英语时使用
pf flow test
出现的编码问题。[Executor] 修复了无法读取包含“专用区”Unicode 字符的文件的问题。
[SDK/CLI] 修复了字符串类型数据将被转换为整数/浮点数的问题。
[SDK/CLI] 移除了加载数据的最大行数限制。
[SDK/CLI] 修复了从文件创建运行时 --set 不生效的 bug。
改进#
[SDK/CLI]
pf run visualize
页面体验改进添加列状态。
支持通过单击运行 ID 打开流文件。
v0.1.0b7.post1 (2023.09.28)#
修复的 Bug#
修复了在未安装
azure-ai-ml
的情况下导入promptflow
时的额外依赖项错误。
v0.1.0b7 (2023.09.27)#
新增功能#
pf flow validate:支持验证流。
pf config set:支持设置用户级别的 promptflow 配置。
支持工作区连接提供程序,用法:
pf config set connection.provider=azureml://subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.MachineLearningServices/workspaces/<workspace_name>
提交流时支持覆盖 openai 连接的模型。例如:
pf run create --flow ./ --data ./data.jsonl --connection llm.model=xxx --column-mapping url='${data.url}'
修复的 Bug#
[Flow build] 修复了连接名称包含空格时流构建文件名和环境变量名称的问题。
转储运行快照时保留
.promptflow
文件夹。使用指定编码读写日志文件。
避免执行器异常退出时出现不一致的错误消息。
在部分完成的运行会破坏
pfazure run show-details
的情况下,对齐输入和输出的行号。修复了当表单为资产 ID 时无法解析运行数据的门户 URL 的 bug。
修复了运行批量运行时间过长导致进程挂起的问题。
改进#
[Executor][Internal] 改进错误消息,提供更多详细信息和可操作信息。
[SDK/CLI]
pf/pfazure run show-details
添加
--max-results
选项以控制要显示的结果数量。添加
--all-results
选项以显示所有结果。
为 azure
PFClient
构造函数添加验证,以防传入错误的参数。
v0.1.0b6 (2023.09.15)#
新增功能#
[promptflow][功能] 在运行属性中存储令牌指标。
修复的 Bug#
优化 flow_validator.py 的错误消息正文。
优化 run_tracker.py 的错误消息正文。
[Executor][Internal] 添加一些单元测试以提高日志/指标的代码覆盖率。
[SDK/CLI] 更新门户链接以移除飞行。
[Executor][Internal] 改进输入映射的错误消息。
[API] 解决 sphinx 构建的警告/错误。
v0.1.0b5 (2023.09.08)#
新增功能#
pf run visualize:在可视化页面中支持血缘图和显示名称。
修复的 Bug#
在
setup.py
中添加了缺失的依赖项psutil
。
v0.1.0b4 (2023.09.04)#
新增功能#
支持
pf flow build
命令。
v0.1.0b3 (2023.08.30)#
少量 bug 修复。
v0.1.0b2 (2023.08.29)#
第一个预览版本,包含主要的 CLI 和 SDK 功能。
新增功能#
pf flow:init/test/serve/export
pf run:create/update/stream/list/show/show-details/show-metrics/visualize/archive/restore/export
pf connection:create/update/show/list/delete
Azure AI 支持
pfazure run:create/list/stream/show/show-details/show-metrics/visualize
v0.1.0b1 (2023.07.20)#
Pypi 中的存根版本。