跳到主要内容

管理提示生命周期

管理提示词的变更对于保持质量、提高性能和确保不同环境之间的一致性至关重要。本页提供了 MLflow 提示词注册表中的变更管理综合指南。

Aliases List

基于提交的版本控制

提示词注册表的设计灵感来源于 Git 等版本控制系统。

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

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

比较提示词版本

MLflow 提示词注册表 UI 提供了提示词版本的并排比较,突出显示版本之间的更改。要在 MLflow UI 中比较提示词版本,请在提示词详情页面中点击比较选项卡,然后选择要比较的版本。

Compare Prompt Versions

别名

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

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

创建别名

Create Prompt Alias

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

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

使用别名加载提示词

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

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