whylogs

记录数据日志,实时监控模型质量与漂移

whylogs 是一个开源的数据日志库,专为机器学习模型和数据管道设计。它通过轻量级的日志记录,持续收集数据分布、统计特征和模型性能指标,帮助团队实时监控数据质量与模型表现随时间的变化。核心能力包括:支持隐私保护的数据采集(如差分隐私),在不暴露原始数据的前提下生成数据画像;提供丰富的统计摘要(如均值、分位数、缺失值比例等);可与现有数据管道无缝集成,并支持多种输出格式(如JSON、Parquet)。whylogs 解决了ML生产中数据漂移、模型退化难以察觉的问题,让数据科学家和工程师能快速定位异常,确保模型在真实环境中的稳健性。

开源 free 基础设施
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 2833
维护状态 低维护
是否开源
定价模式 free

项目数据

分类基础设施
开发团队whylabs
所属国家
官网地址
定价模式free
价格说明开源库,Apache-2.0 许可证,完全免费,无付费版本。
访问状态
是否开源
开源协议Apache-2.0
主要语言Jupyter Notebook
技术栈/模型ai-pipelines,analytics,approximate-statistics,calculate-statistics,constraints,data-constraints,data-pipeline,data-quality,data-science,dataops,dataset,logging,machine-learning,ml-pipelines,mlops,model-performance,python,statistical-properties
GitHub 星标★ 2833
30天Star增速
HF 下载量
上线时间2020-08-14 00:00:00
最近更新2026-09-11 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数5

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 5 步

环境要求

  • Python 环境,可用 pip 安装包(README 使用 pip 安装)
  • pandas(README 快速上手示例中用 pandas 读取 CSV)
  • 一份可用 pandas 读入的数据集(示例为 CSV 文件)

安装与启动步骤

  1. 1安装 whylogs

    README 明确指出用 pip 包管理器安装 whylogs,只需在终端执行一条命令即可完成。

    pip install whylogs
  2. 2安装 pandas

    README 的快速上手示例依赖 pandas 读取数据集,若尚未安装需一并安装。

    pip install pandas
  3. 3读取数据集

    用 pandas 读取本地 CSV,路径需替换成你自己的真实文件路径。

    import pandas as pd
    
    df = pd.read_csv("path/to/file.csv")
  4. 4生成数据画像

    调用 why.log 对 DataFrame 做日志记录,返回结果即为 whylogs profile(数据画像)。

    import whylogs as why
    
    results = why.log(df)
  5. 5关闭使用统计

    v1.0.0 起默认收集匿名环境信息,设置环境变量即可关闭,注意要在导入使用前设置。

    import os
    os.environ['WHYLOGS_NO_ANALYTICS']='True'

关键配置

配置项必填说明示例
WHYLOGS_NO_ANALYTICS设为 True 可关闭匿名环境使用统计收集True

如何确认成功

执行 why.log(df) 不报错并返回 results 对象,即表示已成功生成 whylogs profile。

常见问题

Q:whylogs 会收集我的数据吗?

A:不会。README 说明自 v1.0.0 起默认只收集运行环境的匿名信息,不包含用户信息,也不包含被画像的数据本身。

Q:如何关闭匿名使用统计?

A:设置环境变量 WHYLOGS_NO_ANALYTICS 为 True,例如在代码中 import os 后执行 os.environ['WHYLOGS_NO_ANALYTICS']='True'。

Q:whylogs profile 有什么用?

A:README 指出 profile 可用来跟踪数据集变化、创建数据约束判断数据是否符合预期,以及快速可视化关键统计摘要。

Q:支持哪些类型的数据输入?

A:README 定位为可对任意类型数据做日志记录的库,快速上手示例以 pandas DataFrame(从 CSV 读入)为例。

注意事项

  • README 只给出 pip 安装方式,未提供 Docker、源码编译等其它安装说明。
  • 示例中的 path/to/file.csv 是占位路径,需替换为你自己的文件真实路径。
  • 开启使用统计时收集的仅是运行环境信息,如需完全关闭请设置 WHYLOGS_NO_ANALYTICS=True。

核心亮点

  • 轻量级设计,对数据管道性能影响小
  • 内置隐私保护机制,支持差分隐私数据采集
  • 提供丰富的统计摘要和可视化支持,便于快速洞察数据分布变化

不足之处

  • 文档和社区生态相对较小,示例和教程有限
  • 高级功能(如自定义指标)需要一定学习成本

适用场景

  • 监控生产环境中的机器学习模型性能退化
  • 检测数据漂移和训练-服务偏差
  • 满足隐私合规要求的数据质量审计

替代项目

Evidently、Great Expectations、Alibi Detect

项目介绍

whylogs 是基础设施领域的开源项目,由 whylabs 开发,2020 年首次发布。

在全站 13,014 个收录项目中,它的 GitHub 星标数(2,833)位列前 30%,在基础设施分类中处于中上游。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-11。开源库,Apache-2.0 许可证,完全免费,无付费版本。

它主要面向的使用场景是:监控生产环境中的机器学习模型性能退化。同类可对比的替代方案包括 Evidently、Great Expectations、Alibi Detect。

上一篇:Python-MLOps-Cookbook

下一篇:lantern

同类项目推荐

freebuff-proxy 开源

聚合多账号,一键接入 OpenAI 兼容 API,轻松管理会话。

Multi-account OpenAI-compatible gateway for coding models. Pooled keys, session life···

★ 213 2026-08-20
microduck 开源

用 Rust 造一只会走路的桌面小鸭,快速上手双足机器人。

A Tiny biped duck robot

★ 8684 2026-09-10
soperator 开源

用 Kubernetes 原生方式运行 Slurm,简化 HPC 集群管理。

Run Slurm in Kubernetes

★ 439 2026-08-10
ollama 开源

一条命令本地跑起大模型,免费、私密、不卡顿

Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other···

★ 181484 2026-08-09