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.13.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.13-py3-none-any.whl (31.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: omnismart_rageval-0.1.13.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.13.tar.gz
Algorithm Hash digest
SHA256 2fecbf170dee681071286c4425658bc5f295c40f529def7f6268b03791eda998
MD5 3dd8222858a2f5c504814db37c8dd690
BLAKE2b-256 b804d2955861f34bfd603b8a4c33051c03a264a63b7c10536e2fc8116727c576

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for omnismart_rageval-0.1.13-py3-none-any.whl
Algorithm Hash digest
SHA256 b4934a22885db7c48a2f007a0b53018aa16e98b57092ffd444764ac3c49bb493
MD5 198bac7546b0239597aeda3f15b62798
BLAKE2b-256 a5b96a78dd4a78f5fc72d37f9bef4cd5e1b03d10e7ee91066df690ebcc29bd95

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