Open source AI evaluation, validation, benchmarking, recommendation engine and trust layer for LLMs
Project description
OpenVals
OpenVals is an the evaluation + trust infrastructure for LLMs, SLMs, local AI, private AI, and public AI designed to help organizations measure, compare, and trust AI models before deployment.
> Evaluate. Benchmark. Trust. Deploy AI/ML with Confidence.
🚀 Why OpenVals?
AI models are powerful—but without proper validation, they are unpredictable, insecure, and hard to trust. Most AI evaluation tools stop at metrics.
OpenVals exists to solve that.
It provides a structured way to:
- ✅ Aligns evaluation with business objectives
- ✅ Supports deployment decision-making
- ✅ Quantifies trust, risk, and performance
- ✅ Evaluate model performance
- ✅ Benchmark multiple models
- ✅ Normalize and compare results
- ✅ Introduce trust before deployment
This is especially critical for:
- ✅ LLMs and generative AI
- ✅ Enterprise AI systems
- ✅ Regulated industries
- ✅ Security-sensitive environments
Most AI models look great in demos—but fail in production.
OpenVals answers:
- Which model is actually best for your use case?
- How do models compare beyond just “accuracy”?
- Can I trust this model in production?
- Which model is fastest, safest, and most reliable?
Core Capabilities
0. Decision Reliability Score (DRS)
OpenVals introduces DRS (Decision Reliability Score) — a production-oriented scoring framework designed to evaluate whether an AI model can be trusted in real-world deployment environments.
Unlike traditional benchmarks that focus only on accuracy, DRS evaluates:
- Accuracy
- Semantic similarity
- Reliability
- Safety
- Consistency
- Variance
- Latency
DRS helps organizations move beyond leaderboard-style benchmarking toward deployment-ready AI validation.
1. Model Evaluation
Evaluate model outputs against structured datasets using:
- Accuracy
- Semantic similarity
- Latency
2. Multi-Model Benchmarking
Compare multiple models under the same conditions:
- Side-by-side evaluation
- Normalized scoring
- Model ranking
- Performance insights
3. Scoring Engine
Weighted scoring aligned to business priorities:
Trust Score = Σ (wᵢ × mᵢ)
-
Customize weights per use case
-
Balance accuracy, cost, and latency
4. Extensible Architecture
- Plug-and-play model adapters
- Custom metrics support
- Scalable evaluation pipelines
5. Recommendation Engine
- Suggests best model for your dataset
- Tradeoff-aware ranking (speed vs accuracy vs safety)
- Use-case based model selection (coming next version)
Installation
pip install openvals
⚡ Quick Start
CLI Benchmarking
openvals benchmark --dataset finance --models mistral,llama3 --config finance --output finance_report.html
1. Run Evaluation
from openvals.core.evaluator import Evaluator
from openvals.datasets.loader import load_dataset
from openvals.models.ollama_model import OllamaModel
dataset = load_dataset("examples/sample_eval.json")
model = OllamaModel("llama3")
evaluator = Evaluator(model, dataset)
result = evaluator.run()
print(result["overall_score"])
2. Run Multi-Model Benchmark
from openvals.benchmarking.runner import BenchmarkRunner
from openvals.models.ollama_model import OllamaModel
from openvals.datasets.loader import load_dataset
dataset = load_dataset("examples/sample_eval.json")
models = {
"llama2": OllamaModel("llama2"),
"llama3": OllamaModel("llama3"),
"mistral": OllamaModel("mistral")
}
runner = BenchmarkRunner(models, dataset)
results = runner.run()
print(results)
📊 Example Output
=== FINAL RANKING ===
1. mistral (0.91)
2. llama3 (0.87)
3. llama2 (0.84)
Key Features
- ⚡ Multi-model benchmarking (Ollama + APIs)
- 📊 Multi-metric evaluation system
- 🧠 Semantic + accuracy hybrid scoring
- ⏱️ Latency-aware ranking
- 🔐 Reliability + safety scoring
- 📈 Normalized comparison engine
- 🎯 AI-powered recommendation engine
Built For
- AI engineers
- ML teams
- SaaS companies using LLMs
- Enterprises validating models
- AI governance & compliance teams
🔬 Metrics Explained
Performance Metrics
This project uses the following key performance indicators to evaluate system output and efficiency.
Core Metrics
| Metric | Meaning |
|---|---|
| Accuracy | Exact / relaxed match scoring |
| Semantic | Meaning similarity |
| Latency | Response speed |
| Reliability | Stability of output |
| Safety | Risk/unsafe content detection |
| Consistency | Stability across repeated evaluations |
| Variance | Output fluctuation measurement |
Usage
These metrics are applied during the evaluation phase to ensure consistent and high-quality results across all modules.
API Usage
from openvals.core.evaluator import Evaluator
from openvals.models.dummy_model import DummyModel
from openvals.datasets.loader import load_dataset
dataset = load_dataset("examples/sample_eval.json")
model = DummyModel()
evaluator = Evaluator(model, dataset)
result = evaluator.run()
print(result)
🏗️ Project Structure
openvals/
│
├── core/ # Evaluation engine
├── cli/ # Typer CLI
├── config/ # Config presets & loaders
├── models/ # Model adapters
├── datasets/ # Dataset loading & schema
├── metrics/ # Evaluation metrics
├── benchmarking/ # Multi-model benchmarking layer
├── scoring/ # Scoring logic
├── safety/ # Risk & safety checks (WIP)
├── reporting/ # Output & reports (WIP)
├── cli.py # Command-line interface
🚀 Roadmap
v0.1.5 (Current)
- Core evaluator
- Multi-model benchmarking
- DRS scoring
- Recommendation engine
- HTML reporting
- Configurable benchmarking profiles
- Ollama integration
- CLI workflows
v0.2.0
- Advanced normalization
- Dataset expansion tools
- Better semantic scoring
- Reliability scoring redesign
- Safety scoring redesign
v0.3.0
- Explainability layer (SHAP/LIME)
- REST APIs
- Evaluation history
- External dataset integrations
v1.0.0
- SaaS platform
- Enterprise governance
- Continuous AI validation
- AI trust infrastructure
- Team workspaces & dashboards
🧠 Philosophy & Vision
> “If you can’t measure it, you can’t trust it.”
OpenVals is building the trust layer for AI systems.
Mission
Our mission is to build the essential trust layer for AI systems, ensuring they remain transparent, reliable, and safe for a better future of humanity.
Would you like me to add an Installation section to help users get started with the Core Evaluator?
Contributing
Contributions are welcome.
- Fork the repo
- Create a feature branch
- Submit a pull request
License
MIT License
Backed by
Developed as part of DrPinnacle’s AI Trust & Validation Initiative, focused on building secure, scalable, and trustworthy AI systems.
⚡ Final Thought
AI models are easy to build. Trusting them is the hard part. OpenVals exists to solve that.
🔍 Keywords
AI model evaluation, LLM benchmarking, AI validation, AI safety testing, LLM performance metrics, OpenAI benchmarking, Claude evaluation, Gemini AI testing, Ollama models, AI reliability scoring,AI trust layer, machine learning evaluation tools, Vishwanath Akuthota
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 openvals-0.1.5.tar.gz.
File metadata
- Download URL: openvals-0.1.5.tar.gz
- Upload date:
- Size: 21.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
87a37b7a3bc75b528ffea87e41c8f91dfe47cc8a8e41347ed4447cd6cf2ca567
|
|
| MD5 |
5ca4a69743ee207f659ef9430cbb01a1
|
|
| BLAKE2b-256 |
adcb33d439ab5ef80bdfc235e73f4eab19079d8060ca74b4d39043145b2e718f
|
Provenance
The following attestation bundles were made for openvals-0.1.5.tar.gz:
Publisher:
publish.yml on vishwanathakuthota/openvals
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openvals-0.1.5.tar.gz -
Subject digest:
87a37b7a3bc75b528ffea87e41c8f91dfe47cc8a8e41347ed4447cd6cf2ca567 - Sigstore transparency entry: 1519837364
- Sigstore integration time:
-
Permalink:
vishwanathakuthota/openvals@59ac9ab6504e0dc451f1a4c713d1c74a43651a9a -
Branch / Tag:
refs/tags/v0.1.5 - Owner: https://github.com/vishwanathakuthota
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@59ac9ab6504e0dc451f1a4c713d1c74a43651a9a -
Trigger Event:
push
-
Statement type:
File details
Details for the file openvals-0.1.5-py3-none-any.whl.
File metadata
- Download URL: openvals-0.1.5-py3-none-any.whl
- Upload date:
- Size: 28.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2113cd510c8d8982f611ce0550dadf9eeb4bd7246047750342247954bb98945f
|
|
| MD5 |
afb85c145391234ec104079c58151d15
|
|
| BLAKE2b-256 |
7ef0ae3037dfad7088b619d55e267105570f7131e392f56e800f75ca964d4655
|
Provenance
The following attestation bundles were made for openvals-0.1.5-py3-none-any.whl:
Publisher:
publish.yml on vishwanathakuthota/openvals
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openvals-0.1.5-py3-none-any.whl -
Subject digest:
2113cd510c8d8982f611ce0550dadf9eeb4bd7246047750342247954bb98945f - Sigstore transparency entry: 1519837371
- Sigstore integration time:
-
Permalink:
vishwanathakuthota/openvals@59ac9ab6504e0dc451f1a4c713d1c74a43651a9a -
Branch / Tag:
refs/tags/v0.1.5 - Owner: https://github.com/vishwanathakuthota
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@59ac9ab6504e0dc451f1a4c713d1c74a43651a9a -
Trigger Event:
push
-
Statement type: