Skip to main content

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, escalated
  • request_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)

Source distribution for supportrag-cli 0.1.0
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)

Table of built distributions (wheels) for supportrag-cli 0.1.0
File Interpreter ABI Platform Actions
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.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

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