lexigram-ai-evaluation
AI Evaluation framework for the Lexigram Framework.
Overview
AI Evaluation framework for the Lexigram Framework. Provides evaluators harness, and metrics — all wired through the DI container via EvaluationModule. Zero-config usage starts with sensible defaults.
Install
uv add lexigram-ai-evaluation
# Optional extras
uv add "lexigram-ai-evaluation[openai,anthropic]"
Quick Start
from lexigram import Application
from lexigram.di.module import Module, module
from lexigram.ai.evaluation import EvaluationModule
from lexigram.ai.evaluation.config import EvaluationConfig
@module(imports=[
EvaluationModule.configure(
EvaluationConfig(default_threshold=0.8)
)
])
class AppModule(Module):
pass
app = Application(modules=[AppModule])
if __name__ == "__main__":
app.run()
Configuration
Zero-config usage: Call
EvaluationModule.configure()with no arguments to use defaults.
Option 1 — YAML file
# application.yaml
ai_evaluation:
enabled: true
default_threshold: 0.8
embedding_model: "text-embedding-3-small"
Option 2 — Profiles + Environment Variables (recommended)
export LEX_AI_EVALUATION__DEFAULT_THRESHOLD=0.8
# Environment variables for each field
Option 3 — Python
from lexigram.ai.evaluation.config import EvaluationConfig
from lexigram.ai.evaluation import EvaluationModule
config = EvaluationConfig(
default_threshold=0.8,
embedding_model="text-embedding-3-small",
)
EvaluationModule.configure(config)
Config reference
| Field | Default | Env var | Description |
|---|---|---|---|
enabled |
True |
LEX_AI_EVALUATION__ENABLED |
Enable the evaluation subsystem |
default_threshold |
0.8 |
LEX_AI_EVALUATION__DEFAULT_THRESHOLD |
Score threshold for passing |
embedding_model |
text-embedding-3-small |
LEX_AI_EVALUATION__EMBEDDING_MODEL |
Model for embedding evaluations |
include_metadata |
True |
LEX_AI_EVALUATION__INCLUDE_METADATA |
Include metadata in reports |
max_samples |
None |
LEX_AI_EVALUATION__MAX_SAMPLES |
Max samples per run |
max_retries |
3 |
LEX_AI_EVALUATION__MAX_RETRIES |
Max retries for failed evaluations |
timeout_seconds |
30 |
LEX_AI_EVALUATION__TIMEOUT_SECONDS |
Execution timeout |
Module Factory Methods
| Method | Description |
|---|---|
EvaluationModule.configure(config) |
Configure with explicit settings |
EvaluationModule.stub() |
No-op for testing |
Key Features
- 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
Testing
async with Application.boot(modules=[EvaluationModule.stub()]) as app:
# your test code
...
Key Source Files
| File | What it contains |
|---|---|
src/lexigram/ai/evaluation/module.py |
EvaluationModule.configure() and EvaluationModule.stub() |
src/lexigram/ai/evaluation/config.py |
EvaluationConfig |
src/lexigram/ai/evaluation/di/provider.py |
EvaluationProvider — registers and boots |
src/lexigram/ai/evaluation/evaluators/ |
Evaluator implementations |
src/lexigram/ai/evaluation/harness/ |
Evaluation harness and runner |
src/lexigram/ai/evaluation/exceptions.py |
Full exception hierarchy |
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
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 lexigram_ai_evaluation-0.1.3005-py3-none-any.whl.
File metadata
- Download URL: lexigram_ai_evaluation-0.1.3005-py3-none-any.whl
- Upload date:
- Size: 18.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d252cfca49bf255eb55d3a44c3889b17857f705d76d34f8dde307e8b567479c
|
|
| MD5 |
1eaad53be2016d32a037705c930aee35
|
|
| BLAKE2b-256 |
c6ec586f28f6988e769dbc3c8832a83b9c826b1a5bf88e37c5e1be843b3058fe
|