本文详细介绍了测量质量所需的基础结构以及 Databricks 如何提供这些基础结构。 测量质量并不容易,需要投入大量的基础设施。
详细跟踪日志记录
RAG 应用程序逻辑的核心是一系列链式步骤。 若要评估和调试质量,需要实施监测措施,跟踪链的输入和输出,以及每个步骤及其对应的输入和输出。 你实现的检测工具在开发环境和生产环境中应该以相同的方式工作。
在 Databricks 中, MLflow 跟踪 提供此功能。 使用 MLflow 跟踪日志记录,可以在生产环境中检测代码,并在开发环境和生产环境中获得相同的跟踪结果。 生产环境跟踪结果会作为推理表的一部分进行记录。
利益干系人评审 UI
通常,作为开发人员,你可能不是正在开发的应用程序内容的领域专家。 为了从能够评估应用程序的输出质量的人类专家那里收集反馈,你需要一个界面,允许他们与早期版本的应用程序交互并提供详细的反馈。 此外,还需要一种加载特定应用程序输出的方法,以便利益干系人可以评估其质量。
此接口必须以结构化方式跟踪应用程序的输出和关联的反馈,并将完整的应用程序跟踪和详细反馈存储在数据表中。
在 Databricks 中, 代理评估评审应用 提供此功能。
质量、成本和延迟指标框架
你需要一种方法来定义指标,这些指标能够全面测量链的每个组件和端到端应用程序的质量。 理想情况下,框架除了支持自定义之外,还提供一套现成的标准指标,因此可以添加用于测试业务特定方面的质量的指标。
在 Databricks 中,代理评估提供开箱即用的实现,使用托管的 LLM 评估模型,以提供必要的质量、成本和延迟指标。
评估工具
你需要一种方法来快速高效地从链中获取评估集中每个问题的输出,然后根据相关指标对每个输出进行评估。 此工具必须尽可能高效,因为你将在每次尝试提高质量的实验后运行评估。
在 Databricks 中,代理评估提供与 MLflow 集成的 评估工具 。
评估集管理
评估集是一组不断变化的动态问题,你将在应用程序的开发和生产生命周期中逐步更新。
在 Databricks 中,可以将评估集作为增量表进行管理。 使用 MLflow 进行评估时,MLflow 将自动记录所用评估集版本的快照。
试验跟踪框架
在应用程序开发过程中,你将尝试许多不同的试验。 借助试验跟踪框架,就能够记录每个试验,并跟踪其指标与其他试验的对比。
在 Databricks 中, MLflow 提供试验跟踪功能。
链参数化框架
许多实验要求你保持链代码的常量,同时迭代代码使用的各种参数。 你需要一个可让你实现这一点的框架。
在 Databricks 中, MLflow 模型配置 提供这些功能。
联机监视
部署后,需要一种方法来监视应用程序的运行状况和正在进行的质量、成本和延迟。
在 Databricks 中,Model Serving 提供应用健康监控,Lakehouse Monitoring 提供连续的仪表板输出,并监视质量、成本和延迟。