Skip to main content

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 Distribution

lexigram_ai_evaluation-0.1.2.tar.gz (26.2 kB view details)

Uploaded Source

Built Distribution

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

lexigram_ai_evaluation-0.1.2-py3-none-any.whl (18.6 kB view details)

Uploaded Python 3

File details

Details for the file lexigram_ai_evaluation-0.1.2.tar.gz.

File metadata

File hashes

Hashes for lexigram_ai_evaluation-0.1.2.tar.gz
Algorithm Hash digest
SHA256 b82cc725fad6d6668e5d95490abedf1abc8cb7f133028b278826e5995eec3188
MD5 b11b126d6b6d66ee4e62d46046842bac
BLAKE2b-256 eb23fcfb88d98819670db3dc957983ac6a075a62453ca1fa4beb234b4f609ca9

See more details on using hashes here.

File details

Details for the file lexigram_ai_evaluation-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for lexigram_ai_evaluation-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0bdcdd7ded7395797f46ce4f878c3f0d05407ce60161dc03e2fdb64e69dee2f8
MD5 64596aaccce265623c66fefe6208c767
BLAKE2b-256 5185e913e955f73cc7199a4f6dd6812801e8ff4885692a5793912fed31c0f36f

See more details on using hashes here.

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