A multi-agent RAG system designed to resolve customer support tickets with grounding, citations, and safety controls.
Live Demo (Wait for dependencies to install): zenithsupport-ai.streamlit.app Video Walkthrough: Watch the Technical Overview
This system uses a 4-agent orchestration pattern to process incoming support tickets. It retrieves relevant policies from a FAISS vector store, drafts resolutions based strictly on those policies, and validates the output for compliance and citations.
- Triage Agent: Classifies the issue and identifies missing metadata.
- Policy Retriever Agent: Fetches relevant semantic chunks from the policy corpus.
- Resolution Writer Agent: Drafts a customer-ready response grounded in the retrieved text.
- Compliance Agent: Verifies citations and ensures no unsupported claims exist.
- Framework: LangChain (Multi-agent orchestration)
- Vector Store: FAISS (Local)
- Embeddings: HuggingFace
all-MiniLM-L6-v2(Local) - LLM: Groq Llama 3.3 70B (High-speed reasoning)
- Data: Markdown-based "Heavy-Duty" policy corpus (27,000+ words, 14 documents).
ecommerce_agent/data/policies/: Synthetic policy documents.ecommerce_agent/src/: Core logic (Ingestion, Engine).ecommerce_agent/tests/: Evaluation set of 20+ scenarios.ecommerce_agent/evaluate.py: Main evaluation script.
The system accepts two primary inputs:
A string containing the customer's query or issue.
A dictionary containing the following mandatory fields:
- order_date: (String) Date the order was placed (YYYY-MM-DD).
- delivery_date: (String/None) Date of delivery, if applicable.
- item_category: (String) Category of the product (e.g., electronics, apparel, perishable).
- fulfillment_type: (String) Either
first-partyormarketplace_seller. - shipping_region: (String) Geographic region for shipping (e.g., US-North, EU-France).
- order_status: (String) Current status (placed, shipped, delivered, returned).
- payment_method: (String) Method used for payment (Optional).
- Clone the repository.
- Install dependencies:
pip install -r ecommerce_agent/requirements.txt
- Set up Environment Variables:
Create a
.envfile in the root directory with your Groq API key:GROQ_API_KEY=your_groq_api_key_here - Build the Index (Optional - Indices pre-built):
python ecommerce_agent/src/ingest.py
- Run Evaluation:
python ecommerce_agent/evaluate.py
- Launch Dashboard:
python -m streamlit run ecommerce_agent/demo.py --server.port 8505
ZenithSupport AI is pre-configured for Streamlit Community Cloud:
- Push to GitHub: Follow the instructions in the Walkthrough.
- Deploy: Connect your repository to Streamlit Cloud.
- Secrets: In the Streamlit Cloud dashboard, go to Settings > Secrets and add:
GROQ_API_KEY = "your-gsk-key-here"
- Main File: Point to
ecommerce_agent/demo.py.
- Total Scenarios: 20
- Policy Volume: 27,065 words (across 14 documents)
- Citation Coverage: 100% (Doc + Section + Chunk ID)
- Core Accuracy: 100% (Grounded in retrieved sources via 4-agent validation)
Karan Sharma