Evidently 是一个开源的 Python 库,用于评估、测试和监控机器学习(ML)及大型语言模型(LLM)系统,覆盖从实验到生产的完整流程。
用途 Evidently 旨在为 AI 驱动的系统或数据管道提供可观测性,支持表格数据和文本数据,适用于预测性任务和生成式任务(如分类、RAG)。
主要能力
- 提供 100 多个内置指标,涵盖数据漂移检测、LLM 评判等。
- 支持自定义指标的 Python 接口。
- 同时支持离线评估和实时监控。
- 采用开放架构,可轻松导出数据并与现有工具集成。
- 模块化设计:可从一次性评估开始,也可搭建完整的监控服务。
使用方式
- 报告和测试套件:报告计算并汇总各类数据、ML 和 LLM 质量评估。可使用预设和内置指标,或进行自定义。适合实验、探索性分析和调试。报告可在 Python 中以交互方式查看,或导出为 JSON、Python 字典、HTML,或在监控 UI 中查看。通过添加通过/失败条件,可将任何报告转为测试套件,适合回归测试、CI/CD 检查或数据验证。测试条件支持 gt(大于)、lt(小于)等简单语法,并可零设置地从参考数据集自动生成测试条件。
- 监控仪表板:监控 UI 服务帮助可视化随时间变化的指标和测试结果。可选择自托管开源版本(提供在线演示),或注册 Evidently Cloud(推荐),后者提供慷慨的免费层以及数据集和用户管理、警报、无代码评估等额外功能。
安装 从 PyPI 安装:pip install evidently 使用 Conda 安装器:conda install -c conda-forge evidently
快速上手 LLM 评估示例:导入必要组件,创建包含问题和答案的玩具数据集,创建 Evidently Dataset 对象并添加描述符(行级评估器),例如检查每个响应的情感、长度以及是否包含表示否认的词语。可查看添加了分数的数据框,并生成摘要报告以查看分数分布。也可选择其他评估器,包括 LLM-as-a-judge,并配置通过/失败条件。
数据与 ML 评估示例:导入 Report、评估预设和玩具表格数据集,运行数据漂移评估预设,测试列分布的偏移。将数据框前 60 行作为“当前”数据,后续作为参考数据。可在 Jupyter notebook 中获取输出,也可保存为 HTML 文件(需从目标文件夹打开),或输出为 JSON 或 Python 字典。还可选择其他预设,从单个指标创建报告并配置通过/失败条件。
监控仪表板 在本地托管的 Evidently UI 中启动演示项目。注册 Evidently Cloud 可立即获得包含额外功能的托管版本。如果已安装 uv,可用单条命令运行 Evidently UI;否则创建虚拟环境,安装 Evidently 后运行带演示项目的 UI,访问 localhost:8000 即可使用。
适用场景
- 数据科学和机器学习团队进行模型评估、数据漂移检测。
- LLM 应用开发中的输出质量评估、RAG 评估。
- 生产环境中的模型性能监控和告警。
- CI/CD 流程中的自动化测试和数据验证。
限制 资料中未明确说明 Evidently 的具体限制、系统要求、性能上限或完整的功能边界。