Evidently简介
Evidently是一个开源的Python库,专门用于机器学习(ML)和大语言模型(LLM)的评估和可观测性。它可以帮助数据科学家和机器学习工程师从实验到生产全流程评估、测试和监控AI系统和数据管道。
Evidently的主要特点包括:
- 支持表格数据、文本数据和嵌入向量
- 支持预测性和生成性系统,从分类到检索增强生成(RAG)
- 内置100多个指标,从数据漂移检测到LLM评判
- 提供Python接口用于自定义指标和测试
- 支持离线评估和实时监控
- 开放架构,易于导出数据并与现有工具集成
主要功能
Evidently提供了三种主要的功能模块:
1. 报告(Reports)
Reports用于计算各种数据、ML和LLM质量指标。你可以从预设开始,也可以自定义:
- 开箱即用的交互式可视化
- 最适合探索性分析和调试
- 可以在Python中获取结果,或导出为JSON、Python字典、HTML、DataFrame,也可以在监控UI中查看
2. 测试套件(Test Suites)
Test Suites检查指标值是否满足定义的条件,并返回通过或失败的结果:
- 最适合回归测试、CI/CD检查或数据验证管道
- 零设置选项:从参考数据集自动生成测试条件
- 简单的语法设置自定义测试条件,如gt(大于)、lt(小于)等
- 可以在Python中获取结果,或导出为JSON、Python字典、HTML、DataFrame,也可以在监控UI中查看
3. 监控仪表板(Monitoring Dashboard)
Monitoring UI服务可帮助可视化指标和测试结果随时间的变化:
- 可以选择自托管开源版本(在线演示)
- 也可以注册使用 Evidently Cloud(推荐)
Evidently Cloud提供了慷慨的免费层和额外功能,如用户管理、警报和无代码评估。
安装使用
Evidently可以通过pip安装:
pip install evidently
也可以通过conda安装:
conda install -c conda-forge evidently
快速开始
这里以使用Test Suites为例,展示一个简单的入门示例:
import pandas as pd
from sklearn import datasets
from evidently.test_suite import TestSuite
from evidently.test_preset import DataStabilityTestPreset
# 导入数据集
iris_data = datasets.load_iris(as_frame=True)
iris_frame = iris_data.frame
# 创建并运行Test Suite
data_stability = TestSuite(tests=[
DataStabilityTestPreset(),
])
data_stability.run(current_data=iris_frame.iloc[:60], reference_data=iris_frame.iloc[60:], column_mapping=None)
# 显示结果
data_stability
# 保存为HTML文件
data_stability.save_html("data_stability_report.html")
更多资源
如果你想聊天和交流,欢迎加入Evidently的Discord社区!
Evidently为ML和LLM评估提供了强大而灵活的工具集,无论你是在进行离线分析还是构建生产监控系统,都值得一试。开始使用Evidently,让你的AI系统更加可靠和可解释!