RAG LLM CLI for querying the Superstore dataset.
Ledger is a RAG chatbot for analyzing sales data. It processes the Superstore dataset, creates vector embeddings of aggregated sales texts and lets you chat about sales trends, regional performance, product categories and more.
The system has been iteratively evaluated using an LLM-as-judge approach with truth references and criteria-based scoring. See the evaluation reports for details.
# 1. Install dependencies
pip install -r requirements.txt
# 2. Configure an LLM provider (see Providers section below)
cp .env.example .env # edit with your provider/key
# 3. Prepare the vector store
python main.py prepare
# 4. Start chatting
python main.py chat# Search the vector store directly
python main.py search "top selling products"
# Run the evaluation suite
python main.py evaluate --report report.md
# Enable debug logging
python main.py --debug chatLedger currently supports Ollama and Groq
Configure via environment variables:
# Ollama (default)
LLM_PROVIDER=ollama
LLM_MODEL=phi3
# Groq
LLM_PROVIDER=groq
LLM_MODEL=openai/gpt-oss-20b
GROQ_API_KEY=your_keyRead the technical report here: ./docs/technical-report.md.
