ragcheck - Lighthouse for RAG Systems
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
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
- GitHub
- Twitter: @mane_pranay
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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.