A guard-railed AI-powered support ticket processing system that combines FastAPI backend services with a Streamlit frontend interface. This project demonstrates a complete pipeline for processing IT support tickets with built-in safety guardrails, authorization checks, and RAG-based resolution.
- Guard-Railed Processing: Built-in safety checks to ensure appropriate ticket handling
- Authorization Engine: Role-based access control for sensitive operations
- RAG-Based Resolution: Retrieval-Augmented Generation for intelligent ticket responses
- Appropriateness Classification: Filters out off-scope or inappropriate requests
- Employee Lookup: Validates employee information and permissions
- RESTful API: Clean FastAPI backend with automatic documentation
- Interactive UI: User-friendly Streamlit frontend interface
┌─────────────────────┐ HTTP ┌─────────────────────┐
│ Streamlit UI │ ────────────► │ FastAPI Backend │
│ (streamlit_simple) │ Requests │ (main.py) │
└─────────────────────┘ └──────────┬──────────┘
│
▼
┌─────────────────────┐
│ Ticket Pipeline │
│ (ticket_graph) │
└──────────┬──────────┘
│
┌────────────────────────────┼────────────────────────────┐
│ │ │
▼ ▼ ▼
┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ Appropriateness │ │ Authorization │ │ RAG Engine │
│ Classifier │ │ Rules Engine │ │ (support_ticket) │
└──────────────────┘ └──────────────────┘ └──────────────────┘
- Python 3.9 or higher
- pip (Python package manager)
- Azure OpenAI API access (for LLM-powered features)
-
Clone the repository
git clone https://github.com/kasaxena5/ai_hackathon.git cd ai_hackathon -
Create and activate a virtual environment
python -m venv .venv .venv\Scripts\activate
-
Install dependencies
pip install -r requirements.txt
Update the .env file in the project root directory with the api key:
AZURE_OPENAI_API_KEY=your_api_key_hereYou need to run both the backend and frontend services:
python main.pyThe API will be available at http://localhost:8000
In a separate terminal (with the virtual environment activated):
streamlit run streamlit_simple.pyThe UI will open automatically in your browser.