跳到主要内容

管理提示生命周期

管理 Prompt 的变更对于维护质量、提高性能和确保跨不同环境的一致性至关重要。本页提供 MLflow Prompt Registry 中变更管理的全面指南。

Aliases List

基于提交的版本控制

Prompt Registry 的设计灵感来源于 Git 等版本控制系统。

  • 🪨 不可变版本:一旦创建,Prompt 版本就无法修改。这可确保 Prompt 的行为在不同的应用程序和实验中保持一致。
  • ✉️ 提交消息:创建新的 Prompt 版本时,您可以提供提交消息来记录新版本中所做的更改。这有助于您和您的团队理解更改的上下文并跟踪 Prompt 随时间演进的过程。
  • 🔍 差异视图:MLflow UI 提供 Prompt 版本并排比较,突出显示版本之间的差异。这使得理解差异和跟踪 Prompt 演进变得容易。
为什么不使用 Git?

将 Prompt 文本硬编码到源代码中确实是一种常见的做法,但它存在一些局限性。GenAI 应用程序或项目通常包含多个用于不同组件/任务的 Prompt,以及所有软件构件。使用单调的 Git 树跟踪单个 Prompt 的更改是具有挑战性的。

比较 Prompt 版本

MLflow Prompt Registry UI 提供 Prompt 版本并排比较,突出显示版本之间的差异。要在 MLflow UI 中比较 Prompt 版本,请在 Prompt 详细信息页面中点击“比较”选项卡,然后选择要比较的版本。

Compare Prompt Versions

别名

别名是管理生产系统中 Prompt 版本的一个强大机制,无需在应用程序代码中硬编码版本号。您可以使用 MLflow UI 或 Python API 为特定版本的 Prompt 创建别名。

别名的常见用例是为您的 GenAI 应用程序构建一个健壮的部署管道。例如,您可以设置一个阶段名称,如 betastagingproduction 等,以引用在该环境中使用的版本。通过将别名切换到另一个版本,您可以轻松地为不同环境维护多个 Prompt 版本,并执行回滚 A/B 测试等任务。

创建别名

Create Prompt Alias

  1. 在 MLflow UI 中打开现有的 Prompt 版本。
  2. 点击“别名”部分旁边的“添加”按钮。
  3. 选择一个现有的别名或通过输入别名来创建一个新的别名。
  4. 点击“保存别名”以应用更改。

已附加的别名可以在 Prompt 列表页面中查看。您可以直接从列表视图中点击铅笔图标来编辑或删除别名。

使用别名加载 Prompt

要使用别名加载 Prompt,请使用 prompts:/<prompt_name>@<alias> 格式作为 Prompt URI

python
prompt = mlflow.load_prompt("prompts:/summarization-prompt@production")

保留的 @latest 别名

@latest 别名是一个保留的别名名称,MLflow 将自动查找最新的可用 Prompt 版本。当您想动态加载 Prompt 的最新版本而不更新应用程序代码时,这非常有用。

python
prompt = mlflow.load_prompt("prompts:/summarization-prompt@latest")