SupportRAG CLI
Turn any public support/help-center page into a local support-ticket triage agent.
SupportRAG is a deterministic CLI product for support teams, founders, and hackathon builders. It crawls support pages into a local Markdown corpus, retrieves relevant docs with BM25, applies safety/escalation rules, and outputs a clean support triage CSV.
Why it is useful
Most support bots hallucinate. SupportRAG is designed for high-trust support workflows:
- Local corpus first. No unsupported web guessing.
- Deterministic BM25 retrieval.
- Rule-based escalation for risky cases.
- Optional LLM paraphrasing seam, disabled by default.
- CSV in, CSV out. Easy to plug into ops workflows.
- Works as a hackathon submission and a future product foundation.
Install locally
git clone https://github.com/princepal9120/hackerrank-orchestrate-may26.git
cd hackerrank-orchestrate-may26
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e .
This installs two equivalent commands:
supportrag --help
supportbot --help
Without installation, use the repo-local launcher:
```bash
python3 supportrag.py --help
## Quickstart with any support page
### 1. Build a local corpus
```bash
python3 supportrag.py ingest \
--url https://example.com/support \
--output corpora/example-support \
--max-pages 100
2. Create tickets CSV
Issue,Subject,Company
"How can I reset billing?","Billing help","ExampleCo"
"The whole product is down","Urgent","ExampleCo"
3. Triage tickets
python3 supportrag.py triage \
--data corpora/example-support \
--input tickets.csv \
--output output.csv
Output columns:
issue,subject,company,response,product_area,status,request_type,justification
Allowed values:
status:replied,escalatedrequest_type:product_issue,feature_request,bug,invalid
HackerRank Orchestrate submission mode
The original challenge entrypoint still works:
python3 code/main.py \
--data data \
--input support_tickets/support_tickets.csv \
--output support_tickets/output.csv
Product architecture
URL support page
-> ingest_url.py
-> local Markdown corpus
-> corpus.py chunking
-> retrieval.py BM25
-> rules.py safety router
-> agent.py orchestration
-> validation.py schema guard
-> output.csv
What makes this product-ready
- Installable Python package via
pyproject.toml. - Real CLI commands:
ingest,triage,eval. - No required third-party dependencies.
- Local-first support corpus design.
- Clear upgrade path to SaaS:
- corpus registry
- incremental recrawls
- embedding reranker
- tenant-specific safety policies
- dashboard/API
- citations and confidence scores
Current limitations
- The crawler is a deterministic stdlib HTML crawler, not a browser. JavaScript-heavy docs may need a future Playwright ingestion backend.
- Safety rules are currently tuned for the HackerRank/Claude/Visa challenge and should become configurable policies for production customers.
- Optional LLM paraphrasing is intentionally disabled by default for reproducibility.
Metadata
Release files for supportrag-cli 0.1.0
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 |
|---|---|---|---|---|
| supportrag_cli-0.1.0.tar.gz | 20.2 kB | Without provenance | Details for supportrag_cli-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| supportrag_cli-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for supportrag_cli-0.1.0-py3-none-any.whl |
Total release size: 40.6 kB
Release files / supportrag_cli-0.1.0.tar.gz
| Download URL | supportrag_cli-0.1.0.tar.gz |
|---|---|
| Size | 20.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4789f3ff622ddc300d7c532a96cfecbf1768647bad276c478b5ed74f3afac572
|
|
BLAKE2b-256 checksum How to use checksums |
5e9d571234be3455d19228e757eafcd1633690b92f6c7a4f36e8c4702b915a87
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / supportrag_cli-0.1.0-py3-none-any.whl
| Download URL | supportrag_cli-0.1.0-py3-none-any.whl |
|---|---|
| Size | 20.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
60480b1a982a02694fd4389194482d46d352874f415db4b512db94c71c8dc638
|
|
BLAKE2b-256 checksum How to use checksums |
9d4f2a8400e1f7ffc03f8636f401fbbe96844530e19ad8d04eeb66b0a0287c38
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Security for supportrag-cli 0.1.0
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.