管理提示生命周期
管理提示词的变更对于维持质量、提升性能以及确保不同环境间的一致性至关重要。本页面提供了关于MLflow提示词注册表中变更管理的全面指南。
基于提交的版本控制
提示词注册表的设计灵感来源于Git等版本控制系统。
- 🪨 不可变版本: 提示词版本一旦创建,就不能被修改。这确保了提示词的行为在不同应用和实验中保持一致。
- ✉️ 提交信息: 当创建新的提示词版本时,您可以提供提交信息来记录新版本所做的更改。这有助于您和您的团队理解更改的上下文,并跟踪提示词随时间的演变。
- 🔍 差异视图: MLflow UI提供了提示词版本的并排比较,突出了版本之间的更改。这使得理解差异和跟踪提示词的演变变得容易。
为什么不使用Git?
在源代码中硬编码提示词文本确实是一种常见的做法,但它有几个局限性。一个生成式AI(GenAI)应用或项目通常包含用于不同组件/任务的多个提示词,以及所有软件工件。使用单调的Git树来跟踪单个提示词的变更具有挑战性。
比较提示词版本
MLflow提示词注册表UI提供了提示词版本的并排比较,突出了版本之间的更改。要在MLflow UI中比较提示词版本,请在提示词详情页面中点击比较选项卡,并选择您要比较的版本。
别名
别名是一种强大的机制,用于在生产系统中管理提示词版本,而无需在应用程序代码中硬编码版本号。您可以使用MLflow UI或Python API为特定版本的提示词创建别名。
别名的常见用例是为您的生成式AI(GenAI)应用程序构建一个健壮的部署管道。例如,您可以设置一个阶段名称,如beta
、staging
、production
等,来指代在该环境中使用的版本。通过将别名切换到不同版本,您可以轻松地为不同环境维护多个提示词版本,并执行回滚A/B测试等任务。
创建别名
- UI
- Python
- 在MLflow UI中打开现有的提示词版本。
- 点击别名部分旁边的添加按钮。
- 选择一个现有别名或通过输入别名名称创建一个新别名。
- 点击保存别名以应用更改。
# Set a production alias for a specific version
mlflow.set_prompt_alias("summarization-prompt", alias="production", version=2)
可以在提示词列表页面查看已附加的别名。您可以点击铅笔图标直接从列表视图中编辑或删除别名。
使用别名加载提示词
要使用别名加载提示词,请使用prompts:/<prompt_name>@<alias>
格式作为提示词URI
prompt = mlflow.load_prompt("prompts:/summarization-prompt@production")