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

基于提交的版本控制
Prompt Registry 的设计灵感来源于 Git 等版本控制系统。
- 🪨 不可变版本:一旦创建,Prompt 版本就无法修改。这可确保 Prompt 的行为在不同的应用程序和实验中保持一致。
- ✉️ 提交消息:创建新的 Prompt 版本时,您可以提供提交消息来记录新版本中所做的更改。这有助于您和您的团队理解更改的上下文并跟踪 Prompt 随时间演进的过程。
- 🔍 差异视图:MLflow UI 提供 Prompt 版本并排比较,突出显示版本之间的差异。这使得理解差异和跟踪 Prompt 演进变得容易。
将 Prompt 文本硬编码到源代码中确实是一种常见的做法,但它存在一些局限性。GenAI 应用程序或项目通常包含多个用于不同组件/任务的 Prompt,以及所有软件构件。使用单调的 Git 树跟踪单个 Prompt 的更改是具有挑战性的。
比较 Prompt 版本
MLflow Prompt Registry UI 提供 Prompt 版本并排比较,突出显示版本之间的差异。要在 MLflow UI 中比较 Prompt 版本,请在 Prompt 详细信息页面中点击“比较”选项卡,然后选择要比较的版本。

别名
别名是管理生产系统中 Prompt 版本的一个强大机制,无需在应用程序代码中硬编码版本号。您可以使用 MLflow UI 或 Python API 为特定版本的 Prompt 创建别名。
别名的常见用例是为您的 GenAI 应用程序构建一个健壮的部署管道。例如,您可以设置一个阶段名称,如 beta、staging、production 等,以引用在该环境中使用的版本。通过将别名切换到另一个版本,您可以轻松地为不同环境维护多个 Prompt 版本,并执行回滚 A/B 测试等任务。
创建别名
- UI
- Python

- 在 MLflow UI 中打开现有的 Prompt 版本。
- 点击“别名”部分旁边的“添加”按钮。
- 选择一个现有的别名或通过输入别名来创建一个新的别名。
- 点击“保存别名”以应用更改。
# Set a production alias for a specific version
mlflow.set_prompt_alias("summarization-prompt", alias="production", version=2)
已附加的别名可以在 Prompt 列表页面中查看。您可以直接从列表视图中点击铅笔图标来编辑或删除别名。
使用别名加载 Prompt
要使用别名加载 Prompt,请使用 prompts:/<prompt_name>@<alias> 格式作为 Prompt URI
prompt = mlflow.load_prompt("prompts:/summarization-prompt@production")
保留的 @latest 别名
@latest 别名是一个保留的别名名称,MLflow 将自动查找最新的可用 Prompt 版本。当您想动态加载 Prompt 的最新版本而不更新应用程序代码时,这非常有用。
prompt = mlflow.load_prompt("prompts:/summarization-prompt@latest")