Skip to content
Packages Examples Agents Blog Get started

AI Evaluation framework for the Oridecon Framework.


AI Evaluation framework for the Oridecon Framework. Provides evaluators harness, and metrics — all wired through the DI container via EvaluationModule. Zero-config usage starts with sensible defaults.

Terminal window
uv add oridecon-ai-evaluation
from oridecon import Application
from oridecon.di.module import Module, module
from oridecon.ai.evaluation import EvaluationModule
from oridecon.ai.evaluation.config import EvaluationConfig
@module(imports=[EvaluationModule.configure(EvaluationConfig(default_threshold=0.8))])
class AppModule(Module):
pass
async with Application.boot(modules=[AppModule]) as app:
# use app.container to resolve services
...

Zero-config usage: Call EvaluationModule.configure() with no arguments to use defaults.

application.yaml
ai_evaluation:
enabled: true
default_threshold: 0.8
embedding_model: "text-embedding-3-small"
Section titled “Option 2 — Profiles + Environment Variables (recommended)”
Terminal window
export ORI_AI_EVALUATION__DEFAULT_THRESHOLD=0.8
# Environment variables for each field
from oridecon.ai.evaluation.config import EvaluationConfig
from oridecon.ai.evaluation import EvaluationModule
config = EvaluationConfig(
default_threshold=0.8,
embedding_model="text-embedding-3-small",
)
EvaluationModule.configure(config)
FieldDefaultEnv varDescription
enabledTrueORI_AI_EVALUATION__ENABLEDEnable the evaluation subsystem
default_threshold0.8ORI_AI_EVALUATION__DEFAULT_THRESHOLDScore threshold for passing
embedding_modeltext-embedding-3-smallORI_AI_EVALUATION__EMBEDDING_MODELModel for embedding evaluations
include_metadataTrueORI_AI_EVALUATION__INCLUDE_METADATAInclude metadata in reports
max_samplesNoneORI_AI_EVALUATION__MAX_SAMPLESMax samples per run
max_retries3ORI_AI_EVALUATION__MAX_RETRIESMax retries for failed evaluations
timeout_seconds30ORI_AI_EVALUATION__TIMEOUT_SECONDSExecution timeout
MethodDescription
EvaluationModule.configure(config)Configure with explicit settings
EvaluationModule.stub()No-op for testing
  • 5 evaluator types: Criteria, QA, Embedding Distance, String Distance, Trajectory
  • Evaluation harness: Run datasets against models with configurable evaluators
  • Metrics: Pass/fail, score-based, and threshold evaluation
  • Embedding support: Semantic similarity via embeddings
async with Application.boot(modules=[EvaluationModule.stub()]) as app:
# your test code
...
FileWhat it contains
src/oridecon/ai/evaluation/module.pyEvaluationModule.configure() and EvaluationModule.stub()
src/oridecon/ai/evaluation/config.pyEvaluationConfig
src/oridecon/ai/evaluation/di/provider.pyEvaluationProvider — registers and boots
src/oridecon/ai/evaluation/evaluators/Evaluator implementations
src/oridecon/ai/evaluation/harness/Evaluation harness and runner
src/oridecon/ai/evaluation/exceptions.pyFull exception hierarchy