Graph-based evaluation engine for machine learning models
Project description
🚀 AI Critic 3.4.5 (Unified Evaluation Engine)
pip install ai-critic
AI Critic is a graph-based evaluation engine for machine learning models, designed to go beyond isolated metrics.
It runs a structured evaluation pipeline that analyzes multiple dimensions — performance, robustness, explainability, data quality, and structure — delivering a unified, interpretable, and actionable report.
🔥 WHAT’S NEW IN 3.4.5
🧠 Fully Unified Architecture
- Single entry point:
evaluate() - Single output format:
report - Removal of fragmented and inconsistent outputs
📦 Standardized Report (JSON-first)
All results follow the same schema:
report = {
"scores": {}, # technical scores (0–1)
"details": {}, # raw evaluator outputs
"risk": {}, # interpretable score (0–100)
"summary": {}, # human-readable insights
"suggestions": [] # recommended actions
}
👉 This makes AI Critic:
- API-ready
- Easy to log and persist
- Production-ready
⚡ Improved Graph Engine
- Dependency-aware execution (topological sort)
- Parallel execution support
- Deterministic evaluation order
🎯 Multi-layer Scoring System
- Technical score (0–1) → aggregation layer
- Risk score (0–100) → decision layer
💡 Integrated Suggestion Engine
- Automatically generates recommendations based on model behavior
🧩 Plugin System Stabilization
- Cleaner evaluator interface
- Improved dependency resolution
- Easier extension of the evaluation pipeline
⚡ QUICK START
from ai_critic import AICritic
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris
# Data
data = load_iris()
X, y = data.data, data.target
# Model
model = RandomForestClassifier().fit(X, y)
# Critic
critic = AICritic(weights={
"performance": 1.0,
"robustness": 1.5
})
# Evaluation
report = critic.evaluate(model, X, y, parallel=True)
# 🔹 Technical scores
print(report["scores"])
# 🔹 Risk score (0–100)
print(report["risk"])
# 🔹 Human summary
print(report["summary"])
# 🔹 Suggestions
for s in report["suggestions"]:
print("-", s)
🧩 INTERNAL PIPELINE
evaluate()
↓
EvaluationGraph (nodes)
↓
raw_results
↓
ScoreAggregator (0–1)
↓
build_report()
↓
scoring.py (risk 0–100)
↓
summary.py (human-readable)
↓
SuggestionEngine
🧱 CORE COMPONENTS
1. Evaluation Graph
A DAG-based execution system:
- Automatically resolves dependencies
- Executes nodes in correct order
- Enables parallel execution
Example:
performance → robustness → explainability
2. Score Aggregator
Combines evaluator outputs:
critic = AICritic(weights={
"performance": 1.0,
"robustness": 2.0
})
3. Evaluator Plugins
Fully extensible via plugins:
from ai_critic.plugins.base import EvaluatorPlugin
from ai_critic.plugins.registry import EvaluatorRegistry
class FairnessEvaluator(EvaluatorPlugin):
name = "fairness"
dependencies = ["performance"]
weight = 1.0
def evaluate(self, model, dataset, context=None):
return {
"score": 0.92,
"verdict": "stable",
"message": "Fairness is acceptable"
}
EvaluatorRegistry.register(FairnessEvaluator())
4. Risk Scoring (0–100)
Transforms technical signals into decision-ready output:
report["risk"] = {
"global_score": 78.5,
"verdict": "usable_with_caution",
"component_scores": {...},
"penalties": [...]
}
5. Human Summary
High-level interpretation:
report["summary"] = {
"executive_summary": {
"verdict": "⚠️ Risky",
"deploy_recommended": False
}
}
6. Suggestion Engine
Actionable insights:
[
"Check for data leakage",
"Improve robustness with regularization"
]
🖥️ CLI
ai-critic --model model.pkl --data dataset.csv --target label
Output includes:
- scores
- risk analysis
- summary
🧠 DESIGN PHILOSOPHY
1. Single Source of Truth
One unified data format → no inconsistencies
2. Graph-first Thinking
Evaluation is a dependency-driven pipeline, not isolated functions
3. JSON-native
Everything is ready for:
- APIs
- dashboards
- logging
- SaaS platforms
4. Actionable AI
Not just metrics — decisions:
- Should you deploy?
- Where is the risk?
- What should be improved?
🔥 POSITIONING
AI Critic is not just a metrics library.
It is a:
🧠 Linting engine for machine learning models
🚀 ROADMAP
- REST API (
/evaluate) - Visual dashboard
- Model telemetry
- Continuous learning (feedback loop)
- Global benchmarking between models
📄 LICENSE
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ai_critic-3.4.5.tar.gz.
File metadata
- Download URL: ai_critic-3.4.5.tar.gz
- Upload date:
- Size: 19.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
557ae08cb89f3791f2c082246d500863cb0f3088c034b9d5013ad8ae4f389baf
|
|
| MD5 |
f9355247a2ba4768ceaa0c7ccceca10f
|
|
| BLAKE2b-256 |
807299bbb0bdbb8908d3a9492d5ee82f204b8a7ef144cb9dbebcb32b5ac99264
|
File details
Details for the file ai_critic-3.4.5-py3-none-any.whl.
File metadata
- Download URL: ai_critic-3.4.5-py3-none-any.whl
- Upload date:
- Size: 24.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0cd7bc6758653b5a5e7d9a2db900272b6596e866140c6b0741519985d39f3a3
|
|
| MD5 |
c765a5fee78241c857673048f94df597
|
|
| BLAKE2b-256 |
fa087fa908f645168ad51ef7bc7212500d8035a407786ef504c2eedac6ae891e
|