Support-Ticket-Ai-Agent-with-RAG-Guardrails-and-Jev
LangGraph student-support agent with PII masking and hybrid RAG, where Jev verifies drafts before auto-reply or human review.
Overview
This project is a student support ticket triage and resolution system built around LangGraph orchestration and LangChain components. A ticket (email, WhatsApp or form text) passes through Microsoft Presidio PII masking and an NeMo Guardrails safety gate, is analysed, then answered from a hybrid RAG knowledge base (BM25 plus FAISS). A coverage gate decides whether the knowledge base is sufficient; if not, a policy-controlled Tavily web search may run. The system drafts an evidence-grounded response, has Jev verify it, and routes the ticket to automatic reply or human approval, with SQLite persistence, a dashboard and an EC2 deployment.
Jev, accessed through the Vercel AI Gateway, independently checks grounding and citation support of the draft. If verification fails and retries remain, the draft is regenerated with the verification feedback; after the retry limit, or if the ticket is sensitive, risky or used web results, deterministic routing sends it to a human, who can approve, edit and approve, or reject. Only safe, verified responses are auto-replied.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Is this drafted response grounded in and supported by its cited evidence? | — |
| Choice | Route the ticket to AUTO_REPLY or HUMAN_APPROVE? | AUTO_REPLY · HUMAN_APPROVE |
How it works
- Mask PII and run the safety gate
- Retrieve from hybrid RAG; web search only if the knowledge base is insufficient and policy allows
- Draft a response and verify it with Jev, retrying with feedback on failure
- Deterministic routing to auto-reply or human approval
Strengths
- Independent verification before any auto-reply
- Human review for sensitive or unverified cases
- Layered PII and safety protection
Caveats
- Many moving parts and services
- Verification thresholds not documented in the excerpt
At a glance
- Type
- Project
- Status
- prototype
- Language
- Python
- Runtime
- LangGraph service with dashboard (FastAPI-style), SQLite
- Has code
- yes
Use cases and integrations
How curated lists describe it
An agent that reads incoming student queries (email/WhatsApp/form text)…
wh000wh000/awesome-jev-live
Frequently asked questions
What does Jev decide?
Whether a drafted response is grounded in and supported by its citations.
What happens if verification fails?
The draft is regenerated with feedback, and after the retry limit the ticket goes to a human.
How is Jev accessed?
Through the Vercel AI Gateway.
Related projects
Small Python demos of Jev: parallel Noul ticket checks with measured speedup, and a three-way Choice citation and claim checker.
AppprototypePythonExperimental lab for semantic business gates: each gate is an independent Jev Noul that code maps to NO, REVIEW or YES by threshold.
Projectprototype.NET 10 and React 19 ticket triage where Jev answers five typed questions in one call and .NET business rules make the final routing.
ProjectprototypeC#Provider-independent .NET decision engine with a separate TypeSafe Jev provider package mapping Choice, Score and Noul to /v1/systemone.
LibrarybetaC#Cloudflare Flue agent example that adds a validated route_with_jev tool for typed support routing through AI Gateway.
ServiceprototypeTypeScriptE-commerce support sandbox where Jev classifies intent, emotion and escalation and blocks risky agent replies before sending.
AppprototypeTypeScript