Skip to main content

RAGeval

License: AGPL v3 CI PyPI

Drop-in LLMOps Observability Platform for AI Applications

RAGeval provides self-hosted, research-grade evaluation and observability for Retrieval-Augmented Generation (RAG) and LLM pipelines. It introduces multi-judge consensus scoring, persona-aware evaluation, OpenTelemetry interoperability, and DSPy integration with minimal overhead.

Version: v0.1.10 | pip install omnismart-rageval

🔗 Live dashboard: https://rageval.ysiddo-ai-projects.app/ Self-hosting documentation: see SELF_HOSTING.md.

The 60-Second Setup

Evaluate interactions in real-time with a single decorator:

from rageval import track

@track(model="anthropic/claude-sonnet-4-6", persona="cfo")
async def answer_question(query: str, context_chunks: list[str]) -> str:
    ...

Access the comprehensive analytics dashboard locally at http://localhost:8003.

Core Capabilities & Metrics

Metric Definition
Retrieval Relevance Cosine similarity between query and retrieved chunks (BGE-large default)
Groundedness Consensus Multi-judge LLM scoring (Claude Haiku 4.5 + Groq LLaMA 3.3 + GPT-5-mini), minimizing individual judge bias
Faithfulness NLI proxy via per-sentence maximum similarity to any source chunk
Cost & Latency Precision tracking of USD expenditures per interaction and end-to-end wall-clock latency
Persona Awareness Detects and flags when an agent violates its assigned domain scope
OpenTelemetry (OTel) Native export of spans to enterprise APM tools
DSPy Integration Log DSPy compile events and optimizer performance directly into the dashboard

Competitive Differentiation

Feature RAGeval Phoenix Langfuse TruLens
Self-Hosted
PostgreSQL Support
Drop-in Decorator Partial Partial
Persona-Aware RAG
Multi-Judge Consensus
OpenTelemetry Export
Setup Time 60 sec 10 min 15 min 10 min

Quick Start

pip install omnismart-rageval     # CLI + import remain `rageval`
rageval init                      # creates ~/.rageval/rageval.db
rageval serve --port 8003

Integration Patterns

FastAPI

from rageval import track

@app.post("/ask")
@track(model="anthropic/claude-sonnet-4-6", persona="cfo")
async def ask(query: str):
    chunks = await retriever.search(query)
    return await llm.generate(query, chunks=chunks)

LangChain

@track(model="groq/llama-3.3-70b-versatile")
def chain_invoke(query: str, context_chunks: list[str]):
    return chain.invoke({"query": query, "context": context_chunks})

Core API Endpoints

Method Path Purpose
GET /health Liveness and status check
POST /eval/log Compute scores and persist to database
POST /eval/score Compute scores only (no persistence)
GET /eval/metrics?days=7 Aggregate dashboard data
GET /eval/queries Retrieve query logs (supports needs_review filter)
GET /eval/cost-report?days=30 Analytical cost breakdown by day and model
POST /eval/retrieval-bench A/B compare retrieval strategies
POST /eval/embedding-comparison Benchmark embedding models side-by-side

Quality & Reliability

Validated by a comprehensive test suite covering API functionality, evaluator consistency, decorator integration, and end-to-end scenarios.

pytest tests/ -q

Licensing & Commercial Use

RAGeval is open-source under the AGPL-3.0 License, ensuring it remains free for researchers, students, and open-source hobbyists.

Commercial Use: The AGPLv3 license mandates that any proprietary network service (e.g., SaaS, internal corporate tools) using or modifying this codebase must open-source its entire backend.

If you require integration into a closed-source commercial environment or need Enterprise features (e.g., SSO, VPC Deployment, Strict RBAC, PostgreSQL optimizations), you must obtain a Commercial License. See COMMERCIAL.md for details.

📡 Anonymous Telemetry

This project collects anonymous, GDPR-compliant startup pings to help understand usage volume and prioritize development.

  • Data Collected: Startup event timestamp and anonymized deployment origin. No API keys, prompts, or sensitive data are collected.
  • Opt-Out: Set TELEMETRY_OPT_OUT=true in your .env file.

See TELEMETRY.md for detailed privacy practices.

Download files

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

Source Distribution

omnismart_rageval-0.1.14.tar.gz (33.5 kB view details)

Uploaded Source

Built Distribution

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

omnismart_rageval-0.1.14-py3-none-any.whl (31.3 kB view details)

Uploaded Python 3

File details

Details for the file omnismart_rageval-0.1.14.tar.gz.

File metadata

  • Download URL: omnismart_rageval-0.1.14.tar.gz
  • Upload date:
  • Size: 33.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for omnismart_rageval-0.1.14.tar.gz
Algorithm Hash digest
SHA256 dddb38b032ac99f3fdd551c1f5c6dc31858ad16f4dae6f9c29a42380b03cd158
MD5 1bc7b3d349d8c31c6a5a5bbc6c6ffc84
BLAKE2b-256 eb131d20fd896df1267a19bb9d33a13bdc0dddaf74894c43294480d4046732d3

See more details on using hashes here.

File details

Details for the file omnismart_rageval-0.1.14-py3-none-any.whl.

File metadata

File hashes

Hashes for omnismart_rageval-0.1.14-py3-none-any.whl
Algorithm Hash digest
SHA256 3e0733f626b3b240e772c540f74b7d06ab916e7826d81516c65a322b77083946
MD5 a6c116dcc5ee8528d0b6d5d45328ec3b
BLAKE2b-256 20f6cbf03760931e14ed916430a401132b7c1e5262fd560a9bb7c553b8c83f2d

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 Sentry Error logging StatusPage Status page