Skip to main content

AI evaluation, validation, benchmarking, security Recommendation Engine

Project description

OpenVals

OpenVals is an open evaluation and benchmarking framework for LLMs, SLMs, and AI systems, designed to help organizations measure, compare, and trust AI models before deployment.

> Evaluate. Benchmark. Trust. Deploy with Confidence.

PyPI Python License Repo Size Last Commit

🚀 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

Core Capabilities

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

Installation

pip install openvals 

⚡ Quick Start

1. Run Evaluation

openvals run --dataset examples/sample_eval.json 

2. Run Multi-Model Benchmark

openvals benchmark --dataset examples/sample_eval.json 

🧪 Example Dataset

json [ { "id": "1", "input": "hello", "expected_output": "olleh" } ]


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)

Multi-Model Benchmarking Example

from openvals.models.dummy_model import DummyModel
from openvals.benchmarking.benchmark import BenchmarkRunner
from openvals.benchmarking.normalization import normalize_scores
from openvals.benchmarking.ranking import rank_models

models = {
    "model_a": DummyModel(),
    "model_b": DummyModel()
}

runner = BenchmarkRunner(models, dataset)
results = runner.run()

normalized = normalize_scores(results)

ranking = rank_models(normalized, {
    "accuracy": 0.5,
    "semantic": 0.3,
    "latency": 0.2
})

print(ranking)

🏗️ Project Structure

openvals/
│
├── core/              # Evaluation engine
├── 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.3

  • OpenAI / Ollama / HuggingFace adapters
  • Config-driven benchmarking (config.yaml)
  • Parallel execution

v0.4

  • Safety layer (prompt injection, hallucination)
  • Cost tracking
  • Advanced reporting

v1.0

  • Trust Score engine
  • Industry-specific benchmarks
  • Certification layer

Vision

OpenVals is evolving into:

> A Trust Layer for AI Systems

Where organizations can answer:

  • Which model should be deployed?
  • Is it safe?
  • Is it aligned with business goals?
  • Can it be trusted in production?

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.

openvalidations.com


⚡ Final Thought

AI models are easy to build.

Trusting them is the hard part.

OpenVals exists to solve that.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openvals-0.1.0.tar.gz (13.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

openvals-0.1.0-py3-none-any.whl (16.4 kB view details)

Uploaded Python 3

File details

Details for the file openvals-0.1.0.tar.gz.

File metadata

  • Download URL: openvals-0.1.0.tar.gz
  • Upload date:
  • Size: 13.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for openvals-0.1.0.tar.gz
Algorithm Hash digest
SHA256 44f245bd10ef583de877236770135d0a3be2ef58dd02248fd043eb05f7caeb75
MD5 1e3e06cc169dee18169de209178e1502
BLAKE2b-256 ee90c205e7f73d45bbfa73d539bb9c0b8aa9cb681697913d6bfdc7c6276bba93

See more details on using hashes here.

Provenance

The following attestation bundles were made for openvals-0.1.0.tar.gz:

Publisher: publish.yml on vishwanathakuthota/openvals

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file openvals-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: openvals-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 16.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for openvals-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e84518d2a56fea74371e85c835160a23cf68573d55e6de846903ca531908398e
MD5 aaa81dd6959199da5e9b98a146aa072c
BLAKE2b-256 d414138c3c6b8251f5158cb057e22d466321d60e12cf688286e5afd1c0ea03f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for openvals-0.1.0-py3-none-any.whl:

Publisher: publish.yml on vishwanathakuthota/openvals

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page