Evidently:用一套 Python 库跑通 ML/LLM 的评估、测试与监控
2026/9/20 15:02:18 网站建设 项目流程

Evidently:用一套 Python 库跑通 ML/LLM 的评估、测试与监控

【免费下载链接】evidentlyEvidently is ​​an open-source ML and LLM observability framework. Evaluate, test, and monitor any AI-powered system or data pipeline. From tabular data to Gen AI. 100+ metrics.项目地址: https://gitcode.com/GitHub_Trending/ev/evidently

Evidently 是一个开源的 Python 框架,定位是 ML 与 LLM 系统的可观测性:它内置 100 多个指标,帮算法工程师和数据分析师在实验和线上环境做模型评估、回归测试与持续监控。

🎯 三个典型用法

一次性评估:先看看数据或模型出了什么问题。适合发布前的数据体检。官方 README 里的例子用鸢尾花数据集做数据漂移检查:前 60 行当"当前数据",后面当"参考数据",跑完导出一份 HTML 报告:

report = Report([DataDriftPreset(method="psi")]) my_eval = report.run(iris_frame.iloc[:60], iris_frame.iloc[60:]) my_eval.save_html("file.html")

结果也可以取 JSON 或 dict,方便塞进你自己的流程。

回归测试:把评估变成"通过/失败"。任意 Report 加上传输gt(大于)、lt(小于)等判断条件,就变成一个 Test Suite,适合放进 CI/CD 或数据校验环节;测试阈值还能从一个参考数据集自动生成,不用手填。

持续监控:指标随时间变化要看趋势。一条命令拉起本地监控面板:

evidently ui --demo-projects all

然后访问 localhost:8000 即可看到演示项目。如果团队已有 Grafana,仓库里examples/grafana/下有完整示例,用 docker-compose 起 PostgreSQL + Grafana,脚本每 10 秒算一批指标写库。

⚡ 三步跑通:安装到出报告

要求 Python 3.10 及以上(见 pyproject.toml 中requires-python),安装:

pip install evidently

LLM 相关能力(语义相似度、LLM 裁判等)依赖较重,按需单独装:

pip install evidently[llm]

最小 LLM 评估示例(摘自 README,数据换成自己的问答对即可):

from evidently import Report, Dataset, DataDefinition from evidently.descriptors import TextLength from evidently.presets import TextEvals ds = Dataset.from_pandas(df, data_definition=DataDefinition(), descriptors=[TextLength("answer", alias="Length")]) Report([TextEvals()]).run(ds)

其中 descriptors 是"逐行打分器"(长度、情感、是否含某词等),定义在 src/evidently/descriptors/。

📋 关键规格:开始之前该知道什么

项目取值对使用者意味着什么
许可Apache 2.0可商用、可集成进公司项目
Python>=3.10老环境需先升级解释器
内置指标100+数据漂移、分类/回归性能、RAG 排序(NDCG/MAP/MRR)等开箱即用
输出格式HTML / JSON / dict报告可存档、可编程消费、可喂给 Grafana
可选依赖[llm][spark][sql][s3]用到哪块装哪块,基础环境保持轻量

🛠️ 实战要点与常见坑

  • 漂移评估必须给两份数据:当前数据 + 参考数据(通常是历史快照),只传一份不会报错但结果没有意义。
  • descriptors 的列名要和 DataFrame 完全一致alias只影响显示名称,不匹配时该行评估结果为空。
  • HTML 报告要在其所在目录打开,直接双击可能因路径问题加载不出图表。
  • 不需要的能力别装[llm]会引入 transformers、sentence-transformers 等重依赖;只评估表格数据用基础包即可。
  • 想拦截线上输出,可以加一层 guardrails(如毒性、敏感词检查),代码在 src/evidently/guardrails/。
  • 想深入理解结构,可以从 examples/classic_ml_validation.ipynb 和 examples/llm_input_output_validation.ipynb 两个官方笔记本入手,细节以项目文档为准。

收尾

Evidently 的价值在于把"模型到底还行不行"这件事从人工抽查变成可复现的指标化流程:离线评估一条pip install就能开始,要上生产监控再参考examples/grafana/下的部署示例。下一步建议先跑通数据漂移或文本评估任一示例,再按业务补上 pass/fail 条件。

【免费下载链接】evidentlyEvidently is ​​an open-source ML and LLM observability framework. Evaluate, test, and monitor any AI-powered system or data pipeline. From tabular data to Gen AI. 100+ metrics.项目地址: https://gitcode.com/GitHub_Trending/ev/evidently

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询