Skip to main content

Evaluation SDK for AI outputs

Project description

Evalytic

Evals for AI outputs. Automated quality evaluation for images, video, text, RAG, and agent runs.

PyPI Python License

Know if your AI outputs are good before your users tell you they're not. One SDK for visual generation, LLM text, RAG pipelines, and tool-using agents.

pip install evalytic

# Visual: compare image generation models
evaly bench -m flux-schnell -m flux-dev -m flux-pro \
  -p "A product photo on marble countertop" --yes

# RAG: evaluate retrieval-augmented answers
evaly rag eval \
  --query "What is Evalytic?" \
  --response "Evalytic evaluates AI outputs." \
  --context "Evalytic is an evaluation platform." \
  --metrics faithfulness,answer_relevancy

# Text: evaluate LLM outputs
evaly text eval \
  --input "Translate: Hello" --output-text "Merhaba" --expected "Merhaba" \
  --metrics exact_match,semantic_similarity

# Agent: evaluate tool-using agent runs
evaly agent eval \
  --input "Find the score" --final-output "0.9" \
  --tool-call search --expected-tool search

What It Does

Evalytic scores AI outputs across four eval domains with the same consensus-judge architecture:

  • Visual (images, video) — 7 semantic dimensions scored by VLM judges + deterministic metrics (sharpness, CLIP, LPIPS, ArcFace, NIMA, TOPIQ)
  • RAG — reference-free faithfulness + answer_relevancy; reference-based context_precision + context_recall
  • Textfactual_correctness, semantic_similarity, g_eval (custom rubric), BLEU, ROUGE, exact_match, levenshtein, string_presence
  • Agenttool_call_accuracy, goal_accuracy, step_efficiency

VLM / LLM judges (Gemini, GPT, Claude, Ollama) + local metrics work together or independently. Every domain supports consensus mode (2+1 adaptive multi-judge).

Use Cases

  • Model Selection — Compare any fal.ai / OpenAI / Anthropic models head-to-head
  • RAG Hallucination Detection — Claim-level faithfulness against retrieved context
  • Prompt Optimization — Measure output quality across semantic dimensions
  • Regression Detection — Catch quality drops when models, prompts, or retrievers update
  • CI/CD Quality Gate — Block deploys when any metric falls below threshold (visual OR text OR agent)
  • Consensus Judging — Multi-judge scoring with automatic agreement analysis

Quickstart

1. Install

pip install evalytic

2. See Real Examples (no API key needed)

evaly demo              # Opens showcase with 4 real benchmark case studies
evaly demo face         # Face identity preservation comparison
evaly demo flagship     # Flux Schnell vs Dev vs Pro cost/quality

3. Score an Existing Image

# Local metrics only (free, no API key)
evaly eval --image output.png --prompt "A sunset over mountains" --no-judge

# With VLM judge
export GEMINI_API_KEY=your_gemini_key
evaly eval --image output.png --prompt "A sunset over mountains" --yes

4. Benchmark Models

export FAL_KEY=your_fal_key

# Text-to-image
evaly bench -m flux-schnell -m flux-dev -m flux-pro \
  -p "A cat sitting on a windowsill" --yes

# Image-to-image
evaly bench -m flux-kontext -m seedream-edit -m reve-edit \
  --inputs product.jpg -p "Place on a marble countertop" --yes

# Metrics only, no VLM judge
evaly bench -m flux-schnell -m flux-dev -p "A cat" --no-judge

5. Interactive Setup

evaly init   # Guided setup: use case, API keys, config file

CLI Commands

Command Domain Description
evaly init Any Interactive setup wizard
evaly demo Visual Browse real benchmark showcases (no API key needed)
evaly bench Visual Generate, score, and report in one command
evaly eval Visual Score a single image without generation
evaly rag eval RAG Evaluate RAG answers (reference-free + reference-based)
evaly text eval Text Evaluate LLM outputs (factual, semantic, BLEU, ROUGE, G-Eval)
evaly agent eval Agent Evaluate tool-using agent runs
evaly compare All Delta between two report files (same-type only)
evaly gate All CI/CD quality gate (--threshold for visual, --metric-threshold for text/RAG/agent)
evaly dataset All Manage evaluation datasets (rag, text, agent, visual)

Judges

Any VLM that can analyze images works as a judge:

evaly bench -m flux-schnell -p "A cat" -j gemini-2.5-flash            # Default
evaly bench -m flux-schnell -p "A cat" -j openai/gpt-5.2              # OpenAI
evaly bench -m flux-schnell -p "A cat" -j anthropic/claude-sonnet-4-6 # Anthropic
evaly bench -m flux-schnell -p "A cat" -j fal/gemini-2.5-flash        # Via fal.ai (single key)
evaly bench -m flux-schnell -p "A cat" -j ollama/qwen2.5-vl:7b        # Local

Consensus Mode

Use multiple judges for more reliable scores:

evaly bench -m flux-schnell -p "A cat" \
  --judges "gemini-2.5-flash,openai/gpt-5.2"

Two judges score in parallel. If they disagree, a third breaks the tie.

Optional Extras

pip install "evalytic[metrics]"      # CLIP + LPIPS + ArcFace + NIMA + TOPIQ (~2GB)
pip install "evalytic[ocr]"          # OCR text accuracy (pytesseract)
pip install "evalytic[embeddings]"   # Local sentence-transformers for RAG/text embeddings (~500MB)
pip install "evalytic[all]"          # Everything

For RAG answer_relevancy and text semantic_similarity, either install evalytic[embeddings] or set OPENAI_API_KEY / FAL_KEY (embeddings auto-resolve).

Configuration

Create evalytic.toml in your project root:

[keys]
fal = "your_fal_key"
gemini = "your_gemini_key"

[bench]
judge = "gemini-2.5-flash"
dimensions = ["visual_quality", "prompt_adherence"]
concurrency = 4

[bench.dimension_weights]
input_fidelity = 0.5
visual_quality = 0.1

[rag]
judge = "gemini-2.5-flash"
judges = ["gemini-2.5-flash", "openai/gpt-5.2"]  # Consensus mode

[rag.thresholds]
faithfulness = 0.8
answer_relevancy = 0.7

[text.thresholds]
factual_correctness = 0.8
semantic_similarity = 0.7

[embeddings]
provider = "sentence-transformers"  # or "openai" / "fal"
model = "all-MiniLM-L6-v2"

Documentation

Full docs at docs.evalytic.ai

License

MIT

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

evalytic-0.4.1.tar.gz (3.4 MB view details)

Uploaded Source

Built Distribution

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

evalytic-0.4.1-py3-none-any.whl (168.6 kB view details)

Uploaded Python 3

File details

Details for the file evalytic-0.4.1.tar.gz.

File metadata

  • Download URL: evalytic-0.4.1.tar.gz
  • Upload date:
  • Size: 3.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for evalytic-0.4.1.tar.gz
Algorithm Hash digest
SHA256 c45e80b57636a526a08d673b3335750d9e5958973e6cc40e580e9abe2743cd52
MD5 cd14679bc9def2f3a26566a4ab5ffcdb
BLAKE2b-256 89956593462d78d2e704ea8188172ba9754fd7585209f83058754e492a65bccb

See more details on using hashes here.

File details

Details for the file evalytic-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: evalytic-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 168.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for evalytic-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 25c401b2f37506ad8b7596d3255e4542782b530df97787d031db53f2beab4919
MD5 554496ca83324b3a4c1b86053c3fdaa5
BLAKE2b-256 902884f1070165785d3baf48426e5a4b9918f8f21616f029b8bf3da8c48b2062

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