Skip to main content

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.2.2 — Prompt size fix, Gemini 3+ support, Groq TPM compliance
  • 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.

Metadata

Release files for ragcheck-cli 0.2.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ragcheck-cli 0.2.10
File Size Uploaded Provenance Actions
ragcheck_cli-0.2.10.tar.gz 39.1 kB Without provenance Details for ragcheck_cli-0.2.10.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for ragcheck-cli 0.2.10
File Interpreter ABI Platform Actions
ragcheck_cli-0.2.10-py3-none-any.whl Python 3 none any Details for ragcheck_cli-0.2.10-py3-none-any.whl

Total release size: 75.1 kB

Release files / ragcheck_cli-0.2.10.tar.gz

Download URL ragcheck_cli-0.2.10.tar.gz
Size 39.1 kB
Tags Source
SHA-256 checksum
How to use checksums
4ca0f47c475a45f57f3f14de4f07b8ef460d04e96c06c097dc060a621ed8a0a8
BLAKE2b-256 checksum
How to use checksums
69866c6aee8260a8c09757f09ec36586e84db21bc8cf75ffad7c81bb72383dcf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.9

Release files / ragcheck_cli-0.2.10-py3-none-any.whl

Download URL ragcheck_cli-0.2.10-py3-none-any.whl
Size 35.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
74ce7e56e6549ddd86701e2b34f808716ac6ed6a82cd8c22a83f1d90f0845a20
BLAKE2b-256 checksum
How to use checksums
428a06e48662f073449a873ec726912975650c1e072b86f759b93fae153283aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.9

Security for ragcheck-cli 0.2.10

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page