promptflow 包#

v1.17.0 (2025.1.8)#

改进#

  • 出于安全原因,放弃了对Python 3.8的支持。

v1.16.2 (2024.11.25)#

改进#

  • 解决安全漏洞。

v1.16.1 (2024.10.08)#

已修复的错误#

  • [promptflow-tracing] 修复当值为None时的令牌计数问题。

v1.16.0 (2024.09.30)#

已修复的错误#

  • [promptflow-core] 修复了promptflow服务应用在默认日志级别下记录输入的问题。

v1.15.0 (2024.08.15)#

已修复的错误#

  • [promptflow-azure] 修复了在将运行注册到云端时,本地到云端运行出现的Connection aborted错误。

  • [promptflow-core] 修复了 AsyncPrompty 的 OpenAI 错误处理程序无法正常工作的问题。

  • [promptflow-devkit] 修复了跟踪视图无法显示布尔输出的问题。

v1.14.0 (2024.07.25)#

改进#

  • [promptflow-devkit] 在使用python_requirements_txt构建流程时,将promptflow添加到dockerfile中,以防自定义需求中不存在promptflow。

  • [promptflow-core] 移除对 docutils 包的依赖。

v1.13.0 (2024.06.28)#

已修复的错误#

  • 修复将导出器设置为提示流服务时与trace.NoOpTracerProvider的不兼容问题。

  • 在跟踪使用遥测中添加缺失的用户代理。

改进#

  • [promptflow-devkit] 支持设置本地提示流服务主机的配置

  • [promptflow-azure] 通过缓存arm令牌减少了从本地到云运行的延迟时间。

v1.12.0 (2024.06.11)#

已修复的错误#

  • [promptflow-core] 修复了在使用pf flow build构建镜像时,ChatUI无法在docker容器中工作的问题。

  • [promptflow-core] 修复 #3355 当生成器在流程中使用并且该流程在另一个流程中被调用时引发的 IndexError 错误。

  • [promptflow-azure] 修复了本地到云端运行的创建时间的时区问题。

改进#

  • [promptflow-devkit] 在上传运行详情到云端时添加重试逻辑。

  • [promptflow-devkit] 添加跟踪使用情况的遥测。

v1.11.0 (2024.05.17)#

公告#

  • 介绍flex flow - 使用Python函数或类的灵活性设计强大的LLM应用程序,并通过我们的VS Code扩展无缝测试和运行您的逻辑。了解更多关于flex flow的信息这里

  • 介绍prompty - 一个实验性功能,旨在简化提示模板的创建。通过.prompty文件简化您的开发,并轻松提升您的提示!了解更多关于prompty的信息这里

新增功能#

  • [promptflow-devkit]: 当跟踪目标配置为云时,将本地运行详细信息上传到云端。

  • [promptflow-core]: 支持通过环境变量修改promptflow日志格式,更多详情请访问这里

改进#

  • [promptflow-devkit]: 使用Azure AI连接时,默认情况下会排除交互式浏览器凭据,用户可以设置PF_NO_INTERACTIVE_LOGIN=False来启用它。

  • [promptflow-devkit]: 为 pf flow serve 添加新的 --engine 参数。该参数可用于在 flaskfastapi 之间切换 Python 服务引擎,目前默认为 flask

  • [promptflow-azure]: 优化跟踪Cosmos DB设置过程,以在过程中打印设置状态,并在设置失败时显示来自服务的错误消息。

  • [promptflow-devkit][promptflow-azure] - 默认返回连接对象中的密钥,以提升灵活流程体验。

  • [promptflow-azure] 在Azure中创建运行时检查工作区/项目跟踪Cosmos DB状态并遵守。

已修复的错误#

  • 修复了从>=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)#

新增功能#

  • [promptflow-devkit]: 暴露 –ui 以触发聊天窗口,更多详情请访问 这里

  • [promptflow-devkit]: 使用fastapi引擎支持本地服务容器,并通过环境变量调整worker/thread数量,更多详情请访问这里

  • [promptflow-core]: 添加fastapi服务引擎支持。

  • [promptflow-devkit]: 支持在跟踪UI中使用简单的Python表达式进行搜索体验,更多详情请访问这里

v1.9.0 (2024.04.17)#

新增功能#

  • [promptflow-devkit]: 为Linux添加了自动完成功能,更多详情请访问这里

  • [promptflow-devkit]: 支持在流程测试和批量运行中的跟踪体验。详情请参见此处

已修复的错误#

  • [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 集成的额外需求 (promptflow[azure])。

新增功能#

  • [SDK/CLI] 使用 resume_from 创建一个运行,请注意只有使用 promptflow>=1.8.0 创建的运行才能作为 resume_from 的值:

    • CLI: 支持 pf run create --resume-from 从另一个运行创建恢复运行。

    • SDK: 支持 pf.run(resume_from=) 从另一个运行创建恢复运行。

  • [SDK/CLI][azure] 使用 resume_from 创建一个运行。

    • CLI: 支持 pfazure run create --resume-from 从另一个运行中创建一个恢复运行。

    • SDK: 支持 p.run(resume_from=) 从另一个运行中创建一个恢复运行。

v1.7.0 (2024.03.25)#

通知#

  • promptflow命名空间导入时,将打印导入警告,请使用警告消息中建议的新命名空间进行导入。

新增功能#

  • [Batch] 为批处理运行添加了每行日志记录,存储在 flow_logs 文件夹下。

  • [SDK/CLI] 支持 AzureOpenAIConnection.from_envOpenAIConnection.from_env。了解更多详情 here

已修复的错误#

  • [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_namedescriptiontags

  • [SDK/CLI][azure] 支持 identity support 用于自动运行时的运行。

已修复的错误#

  • [SDK/CLI] 由脚本工具生成的工具元数据包含输入设置。

改进#

  • cryptography 的下限提升至 42.0.4。

  • [Executor] 将批量运行的默认工作线程数从16修改为4。

已修复的错误#

  • [SDK/CLI][azure] 修复了当镜像更新时自动运行时会话ID缓存的问题。

v1.5.0 (2024.02.06)#

新增功能#

  • [SDK/CLI][azure] 支持在 run.yaml 中指定计算实例作为会话计算

  • [SDK/CLI][azure] 停止支持为自动运行时指定idle_time_before_shutdown_minutes,因为每个会话在执行后都会自动删除。

已修复的错误#

  • [SDK/CLI] 节点测试的输入允许直接传入参考节点输出的值。

  • [SDK/CLI][azure] 修复了云批量运行引用注册表流与自动运行时的错误。

  • [SDK/CLI] 修复当指标中存在无效JSON值时,运行可视化页面中的“无导入数据”问题。

  • [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)#

新增功能#

  • [执行器] 在api_calls中递归计算system_metrics。

  • [Executor] 添加流程根级别的api_calls,以便用户可以查看流程的聚合指标。

  • [Executor] 添加 @trace 装饰器,以便能够记录由工具调用的函数的跟踪信息。

  • [工具] 工具的InputSetting支持传递未定义的配置。

  • [SDK/CLI][azure] 将自动运行时的会话配置切换为系统等待。

  • [SDK/CLI] 添加 --skip-open-browser 选项到 pf flow serve 以跳过打开浏览器。

  • [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 文件中使用环境变量。

已修复的错误#

  • 修复在Azure中针对运行获取详细信息时未对齐的输入和输出或pandas异常。

  • 修复运行模式中的松散流程路径验证。

  • 修复运行可视化页面中“无导入数据”问题,该问题由无效的JSON值(-InfinityInfinityNaN)引起。

  • 修复在窄终端窗口中对长列显示详细信息时出现的“ValueError: invalid width -1”错误。

  • 修复了使用图标初始化脚本工具时生成的无效工具代码。

改进#

  • [SDK/CLI] 对于 pfazure flow create:

    • 如果由非微软租户用户使用,请在远程流文件夹路径中使用用户名而不是用户对象ID。(例如 Users//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配置提示流主目录。

    • 请在导入promptflow之前设置,否则不会生效。

  • [Executor] 在流程测试中处理 KeyboardInterrupt,以便最终状态为 Canceled。

已修复的错误#

  • [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 从下载的运行数据创建本地运行记录。

已修复的错误#

  • [SDK/CLI] 运行命令时移除遥测警告。

  • 清空节点的标准输出和标准错误,以避免生成过大的可视化HTML。

  • 在运行列表中隐藏不必要的字段以提高可读性。

  • 修复忽略批量运行状态摘要中超时行的错误。

v1.1.1 (2023.12.1)#

已修复的错误#

  • [SDK/CLI] 修复与 semantic-kernel==0.4.0.dev0azure-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 的流程。

  • 在运行可视化页面图表视图中显示节点状态。

  • 在提示流中添加对图像输入和输出的支持。

  • [SDK/CLI] SDK/CLI 默认会收集遥测数据,用户可以使用 pf config set telemetry.enabled=false 来选择退出。

  • 为流运行API添加raise_on_error,默认情况下我们会为失败的运行抛出异常。

  • 流作为函数:像使用带有映射到流输入的参数的函数一样消费流。

  • 启用指定运行的默认输出路径。

    • 使用 pf config set run.output_path= 来指定,运行输出路径将为 /

    • 在配置中为 run.output_path 引入宏 ${flow_directory},它将被替换为相应的流目录。

    • 流目录不能设置为运行输出路径,这意味着 pf config set run.output_path='${flow_directory}' 是无效的;但你可以使用子文件夹,例如 pf config set run.output_path='${flow_directory}/.runs'

  • 支持使用远程流创建pfazure运行。

    • 对于远程工作区流:pfazure run create --flow azureml:

    • 对于远程注册表流:pfazure run create --flow azureml://registries//models//versions/

  • 支持通过环境变量 PF_LOGGING_LEVEL 设置日志级别,有效值包括 CRITICAL, ERROR, WARNING, INFO, DEBUG,默认为 INFO

  • 移除openai版本限制

已修复的错误#

  • [SDK/CLI] 修复了使用字典节点输入进行节点测试时会引发“缺少必需输入”的问题。

  • [SDK/CLI] 当未指定显示名称时,将使用运行名称作为显示名称(之前使用流程文件夹名称)。

  • [SDK/CLI] 修复 pf flow build 创建了意外的 dist 文件夹层级

  • [SDK/CLI] 修复部署提示流程:连接值可能为空

改进#

  • 如果在 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)#

新增功能#

  • [执行器] 在 tools.json 中添加 enable_kwargs 标签,用于客户 Python 工具。

  • [SDK/CLI] 支持 pfazure flow create。从本地流文件夹在 Azure AI 上创建流。

  • [SDK/CLI] 更改了列映射 ${run.inputs.xx} 的行为,它将引用运行的数据列而不是运行的输入列。

已修复的错误#

  • [SDK/CLI] 在运行 output.jsonl 中保持原始格式。

  • [Executor] 修复了当聚合节点引用被绕过的节点时引发错误的bug

改进#

  • [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 文件加载运行对象。

  • [执行器] 支持 ToolProvider 用于脚本工具。

已修复的错误#

  • 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//resourceGroups//providers/Microsoft.MachineLearningServices/workspaces/

  • 支持在提交流程时覆盖openai连接的模型。例如:pf run create --flow ./ --data ./data.jsonl --connection llm.model=xxx --column-mapping url='${data.url}'

已修复的错误#

  • [流程构建] 修复当连接名称包含空格时的流程构建文件名和环境变量名称。

  • 在转储运行快照时保留 .promptflow 文件夹。

  • 使用指定的编码读取/写入日志文件。

  • 避免执行器异常退出时出现不一致的错误信息。

  • 在部分完成的运行可能会破坏pfazure run show-details的情况下,对齐输入和输出的行号。

  • 修复了当表单为资产ID时无法解析运行数据的门户URL的错误。

  • 修复运行批处理时进程长时间挂起的问题。

改进#

  • [Executor][内部] 改进错误信息,提供更多细节和可操作的信息。

  • [SDK/CLI] pf/pfazure run show-details:

    • 添加 --max-results 选项以控制显示的结果数量。

    • 添加 --all-results 选项以显示所有结果。

  • 为azure PFClient构造函数添加验证,以防传递错误的参数。

v0.1.0b6 (2023.09.15)#

新增功能#

  • [promptflow][功能] 在运行属性中存储令牌指标

已修复的错误#

  • 优化 flow_validator.py 的错误消息体

  • 为run_tracker.py优化错误消息体

  • [Executor][Internal] 添加一些单元测试以提高日志/指标的代码覆盖率

  • [SDK/CLI] 更新门户链接以移除飞行。

  • [Executor][Internal] 改进输入映射的错误信息。

  • [API] 解决sphinx构建的警告/错误

v0.1.0b5 (2023.09.08)#

新增功能#

  • pf run visualize: 支持在可视化页面中显示谱系图和显示名称

已修复的错误#

  • setup.py中添加缺失的需求psutil

v0.1.0b4 (2023.09.04)#

新增功能#

  • 支持 pf flow build 命令

v0.1.0b3 (2023.08.30)#

  • 小错误修复。

v0.1.0b2 (2023.08.29)#

  • 首个预览版本,包含主要的CLI和SDK功能。

新增功能#

  • pf flow: 初始化/测试/服务/导出

  • pf run: 创建/更新/流式传输/列表/显示/显示详情/显示指标/可视化/归档/恢复/导出

  • pf 连接: 创建/更新/显示/列表/删除

  • Azure AI 支持:

    • pfazure run: 创建/列出/流式传输/显示/显示详情/显示指标/可视化

v0.1.0b1 (2023.07.20)#

  • Pypi 中的存根版本。