基于拉取请求标签的端到端 (e2e) 评估流程

Dive into business data optimization and best practices.
Post Reply
jrineakter
Posts: 825
Joined: Thu Jan 02, 2025 7:15 am

基于拉取请求标签的端到端 (e2e) 评估流程

Post by jrineakter »

llmops-promptflow-template的概念验证展示了与 pfazure SDK 的集成。最初,存在解析计算/运行时主机的问题,后来通过配置完全限定域名 (FQDN) 解决了该问题。pfazure SDK 设计为通用的,但在 PFClient 模块中在 SDK 级别处理计算主机解析带来了挑战。具体来说,维护特定于客户的 SDK 版本以适应这些变化非常麻烦,需要额外的维护工作。
AML 管理端点无法与私有网络和集成服务一起使用,需要回退到 pf docker 打包并部署在 Web 服务中,这再次使得无法使用 llmops-promptflow-template 示例。
获取服务主体访问 AML 和其他特定于客户的资源的权限的过程非常漫长。
需要将 Blob 存储和其他资源解析为私有 IP,这需要在管道中使用的脚本中明确指定无代理配置。
LLMOps 管道决策
添加 FQDN 后中的示例将可以工作。但是,我们决定使用命令行进行 AML 流验证,以保持管道轻量级并减少平台端所需的脚本维护。
摘要中将提供端到端组件验证的指标和 AML 作业的链接,并且数据科学家将在进入下一阶段之前手动对其进行验证。
端到端评估流程需要 6 个小时,因为它运行大量模拟数据并经过详细的评估流程,但不需要在每个版本中都运行。通过使其成为配置驱动,此过程得到了改进。现在,评估是否在 CE 管道中运行或跳过由为版本设置的拉取请求标签决定。有关它的更多详细信息请参阅以下部分。

端到端 (e2e) 评估运行大约需要 6 小时 IT 主管经理电子邮件列表 才能完成 - 并非所有情况都需要运行。例如,如果是一个简单的错误修复,则可以跳过它,团队可以避免等待 6 小时进行部署。

我们引入了一个退出标志,以允许创建 PR 的人进入主要部分,以避免在没有必要的情况下执行完整的端到端评估运行。

当选择退出标志为 ON 时 – 长时间运行的 e2e 评估流程不会作为 CE 管道的一部分执行
当 opt-out 标志关闭时 – 长时间运行的 e2e 评估流程将作为 CE 管道的一部分执行
为了避免为 Dev 部署造成瓶颈,我们将进行两次端到端评估运行:

每次开发部署之前都会在最小数据集上执行端到端运行(约 30 分钟)
完整数据集上的端到端测试与 Dev 部署同时执行(约 6 小时),并且具有 PR 标签设置的退出选项
基于 PR 标签的条件端到端评估
标签定义: 在版本控制系统(如 GitHub、GitLab、Azure devops 等,因为它们支持 PR 标签)中定义一个特定标签,表示需要进行端到端评估。例如,您可以创建一个名为skip-e2e-evaluation的标签。
替代文本

拉取请求工作流: 当开发人员或团队完成一项功能或重大更改时,他们会像往常一样创建拉取请求 (PR)。以下代码示例展示了工作流的实现,用于检索与提交相关联的 PR 编号,或者直接从拉取请求事件中检索。


标签分配: 为了跳过端到端评估,开发人员将 skip-e2e-evaluation 标签分配给拉取请求。此标签向 CI/CD 管道或负责测试的团队发出信号,表示此 PR 应跳过完整的端到端评估。
替代文本

自动触发器(可选): 您可以选择配置 CI/CD 管道以自动检测 skip-e2e-evaluation 标签的存在。此自动化可以启动端到端测试流程,而无需在代码中明确要求任何更改。例如,如果您决定运行 CE,只需删除标签即可;如果您决定跳过同一 PR 中的新更改,只需设置它即可。

测试和评估: 检测到标签后,CI/CD 管道会跳过端到端评估流程。这通常涉及将更改部署到镜像生产环境的测试环境,并运行全面测试以确保新代码正确集成且不会引入回归。
Post Reply