Skip to main content

Lighthouse for RAG systems - diagnose and fix your retrieval pipeline

Project description

ragcheck - Lighthouse for RAG Systems

PyPI version Python License: MIT

One command to diagnose your RAG pipeline and get actionable fixes.

pip install ragcheck-cli
ragcheck init
ragcheck run --docs ./data --query "What is Article 370?"

What is ragcheck?

ragcheck is a lightweight, one-command diagnostic CLI that generates a beautiful, shareable HTML report analyzing why your RAG system fails and how to fix it.

Think of it as Lighthouse for RAG systems — just like Lighthouse audits web pages, ragcheck audits your retrieval pipeline.

Features

  • Auto-Generated Test Suite - 50 synthetic questions from your documents
  • Chunk Visualizer - See exactly where your chunking breaks
  • Retrieval Heatmap - Identify dead chunks and dominant chunks
  • Failure Classification - Know WHY your RAG fails, not just THAT it fails
  • Actionable Recommendations - Specific fixes with predicted impact
  • CI/CD Integration - Fail builds when RAG quality regresses

Quick Start

Installation

pip install ragcheck-cli

Or with uv:

uv tool install ragcheck-cli

Initialize

ragcheck init

Creates a ragcheck.yaml config file in your project.

Run Analysis

ragcheck run --docs ./data --query "Your test query"

Generates ragcheck_report.html with:

  • Scorecards (retrieval accuracy, faithfulness)
  • Chunk boundary visualization
  • Retrieval heatmap
  • Failure mode classification
  • Before/after score predictions

CI Mode

ragcheck run --docs ./data --ci --min-score 0.80

Returns exit code 0/1. Use in GitHub Actions to fail builds on quality regression.

Example Report

ragcheck report

Architecture

ragcheck CLI
    ├── Chunk Analyzer (6 strategies + benchmark)
    ├── Retriever Tester (auto-QA + dense retrieval)
    ├── Failure Classifier (4 failure modes)
    ├── Recommendation Engine (decision tree)
    └── Report Engine (Jinja2 + CSS/HTML)

Tech Stack

Component Tool
CLI Typer + Rich
Config Pydantic
Embeddings sentence-transformers
Vector DB ChromaDB
LLM Interface LiteLLM
Reports Jinja2 + CSS/HTML

Configuration

ragcheck.yaml:

project_name: ragcheck
docs_path: ./data
chunking:
  strategy: recursive
  chunk_size: 512
  chunk_overlap: 128
llm:
  provider: openai
  model: gpt-3.5-turbo
retrieval:
  top_k: 5
  similarity_threshold: 0.7
report:
  format: html
  include_heatmap: true

Development

git clone https://github.com/pranay7863/ragcheck.git
cd ragcheck
uv sync
uv run pytest
uv run ruff check .
uv run mypy ragcheck/

Contributing

See CONTRIBUTING.md

License

MIT — see LICENSE

Roadmap

  • v0.2.0 — Offline reports, NLI faithfulness, scaled auto-QA, chunk viz
  • v0.3.0 — More vector DBs (Pinecone, Weaviate)
  • v0.3.0 — SaaS API for teams
  • v0.4.0 — Enterprise features (SSO, audit logs)

Support


Built with discipline. Read the blueprint that started it all.

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

ragcheck_cli-0.2.2.tar.gz (38.1 kB view details)

Uploaded Source

Built Distribution

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

ragcheck_cli-0.2.2-py3-none-any.whl (34.9 kB view details)

Uploaded Python 3

File details

Details for the file ragcheck_cli-0.2.2.tar.gz.

File metadata

  • Download URL: ragcheck_cli-0.2.2.tar.gz
  • Upload date:
  • Size: 38.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for ragcheck_cli-0.2.2.tar.gz
Algorithm Hash digest
SHA256 750381489bb350c9114883dc74575694a7a3d2cb5582e9b384cf5df9120f149f
MD5 eee63ac776df125121ba8893609ec732
BLAKE2b-256 76da2ab74e898d70c1eb8ca0a2b4d82b036c046a125b47019dd4478d8d284631

See more details on using hashes here.

File details

Details for the file ragcheck_cli-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: ragcheck_cli-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 34.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for ragcheck_cli-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 14ecd7f33c8337924a3e62957a58a9aa4b8c3bb7b9cbf790441ab79620c9ff88
MD5 398d775c3779295a98166cb5193f36eb
BLAKE2b-256 bf4192dc2f668f357263a8d90d6c46b9f75459101d418c6eade9e26b8ece8fcc

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