Evidently:开源机器学习和自然语言模型评估框架
Evidently是一个开源的Python库,专门用于机器学习(ML)和大型语言模型(LLM)的评估和可观察性。它可以帮助从实验到生产环境评估、测试和监控人工智能驱动的系统和数据管道。
主要特点
- 支持表格、文本数据和嵌入向量
- 适用于预测和生成型系统,从分类到检索增强生成(RAG)
- 内置100多种指标,涵盖从数据漂移检测到LLM评判等多个方面
- 提供Python接口用于自定义指标和测试
- 支持离线评估和实时监控
- 开放架构设计,便于导出数据和与现有工具集成
核心功能
Evidently的设计非常模块化,用户可以从以下三个层面使用:
报告(Reports)
报告功能计算各种数据、ML和LLM质量指标。用户可以使用预设模板或自定义报告内容。
- 提供开箱即用的交互式可视化
- 适合探索性分析和调试
- 可以在Python中获取结果,也可导出为JSON、Python字典、HTML、DataFrame格式,或在监控UI中查看
测试套件(Test Suites)
测试套件检查指标值是否满足预定义条件,并返回通过或失败的结果。
- 适合回归测试、CI/CD检查或数据验证流程
- 提供零配置选项:可从参考数据集自动生成测试条件
- 使用简单的语法设置自定义测试条件,如gt(大于)、lt(小于)等
- 可以在Python中获取结果,也可导出为JSON、Python字典、HTML、DataFrame格式,或在监控UI中查看
监控仪表板(Monitoring Dashboard)
监控UI服务有助于随时间可视化指标和测试结果。用户可以选择:
- 自行托管开源版本
- 注册使用Evidently Cloud(推荐)
Evidently Cloud提供慷慨的免费套餐,以及额外功能如用户管理、警报和无代码评估。
安装与使用
Evidently可通过pip或conda安装。安装后,用户可以快速开始使用测试套件或报告功能,只需几行代码即可导入数据、运行评估并获取结果。
评估范围
Evidently内置了100多种评估指标,涵盖了广泛的应用场景:
- 文本描述符:长度、情感、有毒性、语言、特殊符号等
- LLM输出:语义相似度、检索相关性、摘要质量等
- 数据质量:缺失值、重复项、取值范围、新类别值、相关性等
- 数据分布漂移:20多种统计测试和距离度量
- 分类:准确率、精确率、召回率、ROC AUC、混淆矩阵、偏差等
- 回归:MAE、ME、RMSE、误差分布、误差正态性、误差偏差等
- 排序(包括RAG):NDCG、MAP、MRR、命中率等
- 推荐:新颖性、多样性、流行度偏差等
总结
Evidently为ML和LLM系统提供了全面的评估和监控解决方案。它灵活、可扩展,适用于各种数据类型和应用场景。无论是进行一次性评估还是建立持续监控,Evidently都能满足不同阶段的需求,帮助开发者构建更可靠、更透明的AI系统。
GitHub项目地址
Evidently的开源代码托管在GitHub上。对于那些希望深入了解、使用或贡献此项目的人来说,可以访问其GitHub仓库获取更多信息、文档和示例。