evidently

evidentlyaiApache-2.0活跃维护

开源的 ML 与 LLM 可观测性框架,用 100+ 指标评估、测试并监控表格数据到生成式 AI 的数据管道与模型表现。

Evidently 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.

v0.7.23发布于 2026-09-11 09:01 UTC8,053star +6 / 7 天967fork同步于 2026-11-10 11:31 UTC

怎么上手

由 README 提炼,执行前请确认
pip install evidently
evidently ui --demo-projects all
硬件要求按 README 说明

README 未说明

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

开源 ML 与 LLM 可观测性框架,评估、测试并监控从表格数据到生成式 AI 的系统

开源的 ML 与 LLM 可观测性框架,用 100+ 指标评估、测试并监控表格数据到生成式 AI 的数据管道与模型表现。

核心能力

  • 内置 100+ 指标,覆盖数据漂移、分类回归与 LLM 评测
  • 用 Report 汇总评估结果,可导出 JSON、字典或 HTML
  • 给 Report 加通过/失败条件即变 Test Suite,适合 CI/CD 回归检查
  • 支持自托管 Monitoring UI 查看指标随时间变化
  • 提供 Python 接口编写自定义指标,支持表格与文本数据

容易踩的坑

LLM 评测需额外配置模型或 LLM-as-a-judge 相关依赖;本地 UI 默认监听 8000 端口,需访问 localhost:8000;保存的 HTML 报告需从目标文件夹打开

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v0.7.23
  1. v0.7.23最新正式版2026-09-11 · 2026-09-11 09:01 UTC

    What's Changed

    Full Changelog: https://github.com/evidentlyai/evidently/compare/v0.7.22...v0.7.23

  2. v0.7.212026-03-10 · 2026-03-10 14:15 UTC
    查看更新说明

    What's Changed

    New Contributors

    Full Changelog: https://github.com/evidentlyai/evidently/compare/v0.7.20...v0.7.21

  3. v0.7.202026-01-09 · 2026-01-09 11:54 UTC
    查看更新说明

    What's Changed

    Full Changelog: https://github.com/evidentlyai/evidently/compare/v0.7.19...v0.7.20

  4. v0.7.192026-01-05 · 2026-01-05 20:08 UTC
    查看更新说明

    What's Changed

    Full Changelog: https://github.com/evidentlyai/evidently/compare/v0.7.18...v0.7.19

  5. v0.7.182025-12-22 · 2025-12-22 12:20 UTC
    查看更新说明

    What's Changed

    New Contributors

    Full Changelog: https://github.com/evidentlyai/evidently/compare/v0.7.17...v0.7.18

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Evidently

    :bar_chart: What is Evidently?

    Evidently is an open-source Python library to evaluate, test, and monitor ML and LLM systems—from experiments to production.

    • 🔡 Works with tabular and text data.
    • ✨ Supports evals for predictive and generative tasks, from classification to RAG.
    • 📚 100+ built-in metrics from data drift detection to LLM judges.
    • 🛠️ Python interface for custom metrics.
    • 🚦 Both offline evals and live monitoring.
    • 💻 Open architecture: easily export data and integrate with existing tools.

    Evidently is very modular. You can start with one-off evaluations or host a full monitoring service.

    1. Reports and Test Suites

    Reports compute and summarize various data, ML and LLM quality evals.

    • Start with Presets and built-in metrics or customize.
    • Best for experiments, exploratory analysis and debugging.
    • View interactive Reports in Python or export as JSON, Python dictionary, HTML, or view in monitoring UI.

    Turn any Report into a Test Suite by adding pass/fail conditions.

    • Best for regression testing, CI/CD checks, or data validation.
    • Zero setup option: auto-generate test conditions from the reference dataset.
    • Simple syntax to set test conditions as gt (greater than), lt (less than), etc.
    Reports
    Report example

    2. Monitoring Dashboard

    Monitoring UI service helps visualize metrics and test results over time.

    You can choose:

    Evidently Cloud offers a generous free tier and extra features like dataset and user management, alerting, and no-code evals. Compare OSS vs Cloud.

    Dashboard
    Dashboard example

    :woman_technologist: Install Evidently

    To install from PyPI:

    pip install evidently
    

    To install Evidently using the Conda installer, run:

    conda install -c conda-forge evidently
    

    :arrow_forward: Getting started

    Reports

    LLM evals

    This is a simple Hello World. Check the Tutorials for more: LLM evaluation.

    Import the necessary components:

    import pandas as pd
    from evidently import Report
    from evidently import Dataset, DataDefinition
    from evidently.descriptors import Sentiment, TextLength, Contains
    from evidently.presets import TextEvals
    

    Create a toy dataset with questions and answers.

    eval_df = pd.DataFrame([
        ["What is the capital of Japan?", "The capital of Japan is Tokyo."],
        ["Who painted the Mona Lisa?", "Leonardo da Vinci."],
        ["Can you write an essay?", "I'm sorry, but I can't assist with homework."]],
                           columns=["question", "answer"])
    

    Create an Evidently Dataset object and add descriptors: row-level evaluators. We'll check for sentiment of each response, its length and whether it contains words indicative of denial.

    eval_dataset = Dataset.from_pandas(pd.DataFrame(eval_df),
    data_definition=DataDefinition(),
    descriptors=[
        Sentiment("answer", alias="Sentiment"),
        TextLength("answer", alias="Length"),
        Contains("answer", items=['sorry', 'apologize'], mode="any", alias="Denials")
    ])
    

    You can view the dataframe with added scores:

    eval_dataset.as_dataframe()
    

    To get a summary Report to see the distribution of scores:

    report = Report([
        TextEvals()
    ])
    
    my_eval = report.run(eval_dataset)
    my_eval
    # my_eval.json()
    # my_eval.dict()
    

    You can also choose other evaluators, including LLM-as-a-judge and configure pass/fail conditions.

    Data and ML evals

    This is a simple Hello World. Check the Tutorials for more: Tabular data.

    Import the Report, evaluation Preset and toy tabular dataset.

    import pandas as pd
    from sklearn import datasets
    
    from evidently import Report
    from evidently.presets import DataDriftPreset
    
    iris_data = datasets.load_iris(as_frame=True)
    iris_frame = iris_data.frame
    

    Run the Data Drift evaluation preset that will test for shift in column distributions. Take the first 60 rows of the dataframe as "current" data and the following as reference. Get the output in Jupyter notebook:

    report = Report([
        DataDriftPreset(method="psi")
    ],
    include_tests="True")
    my_eval = report.run(iris_frame.iloc[:60], iris_frame.iloc[60:])
    my_eval
    

    You can also save an HTML file. You'll need to open it from the destination folder.

    my_eval.save_html("file.html")
    

    To get the output as JSON or Python dictionary:

    my_eval.json()
    # my_eval.dict()
    

    You can choose other Presets, create Reports from individual Metrics and configure pass/fail conditions.

    Monitoring dashboard

    This launches a demo project in the locally hosted Evidently UI. Sign up for Evidently Cloud to instantly get a managed version with additional features.

    if you have uv you can run Evidently UI with a single command.

    uv run --with evidently evidently ui --demo-projects all
    

    If you haven’t installed uv, create a virtual environment using the standard approach.

    pip install virtualenv
    virtualenv venv
    source venv/bin/activate
    

    After installing Evidently (pip install evidently), run the Evidently UI with the demo projects:

    evidently ui --demo-projects all
    

    Visit localhost:8000 to access the UI.

    🚦 What can you evaluate?

    Evidently has 100+ built-in evals. You can also add custom ones.

    Here are examples of things you can check:

    🔡 Text descriptors📝 LLM outputs
    Length, sentiment, toxicity, language, special symbols, regular expression matches, etc.Semantic similarity, retrieval relevance, summarization quality, etc. with model- and LLM-based evals.
    🛢 Data quality📊 Data distribution drift
    Missing values, duplicates, min-max ranges, new categorical values, correlations, etc.20+ statistical tests and distance metrics to compare shifts in data distribution.
    🎯 Classification📈 Regression
    Accuracy, precision, recall, ROC AUC, confusion matrix, bias, etc.MAE, ME, RMSE, error distribution, error normality, error bias, etc.
    🗂 Ranking (inc. RAG)🛒 Recommendations
    NDCG, MAP, MRR, Hit Rate, etc.Serendipity, novelty, diversity, popularity bias, etc.

    :computer: Contributions

    We welcome contributions! Read the Guide to learn more.

    :books: Documentation

    For more examples, refer to the complete Documentation.

    Browse the API Reference for detailed API documentation.

    :white_check_mark: Discord Community

    If you want to chat and connect, join our Discord community!