An AI-powered Streamlit app for automatic classification and management of support tickets using Pinecone vector database, GROQ's LLaMA-3 model, and SVM classification.
Project Deployed on Render: https://customer-care-call-summary-alert.onrender.com
This project is a scalable and modular ticket classification system designed to automate the support ticket routing across departments like HR, IT, and Transport. It leverages:
- Semantic similarity search using Pinecone vector database
- Contextual question answering powered by GROQ's LLaMA-3
- Text embedding via SentenceTransformers
- Classification using Support Vector Machines (SVM)
- A clean Streamlit UI with custom CSS styling for seamless user experience
Use the interface to:
- Enter queries and get answers based on uploaded document knowledge
- Raise tickets automatically classified into departments
- Navigate tabs to view pending tickets
- Upload your own PDFs and CSVs to train or update the classification model
- Save the trained model and reload it later for continued use
- Upload PDFs to build or update the Pinecone vector store
- Document ingestion: Extract text from PDFs, chunk it, and embed into Pinecone
- Semantic search: Retrieve relevant docs using vector similarity
- LLM-powered QA: Generate answers with LLaMA-3 model through GROQ API
- Ticket classification: Classify user input into HR, IT, or Transport using SVM
- Custom UI: Interactive Streamlit app with session management and CSS styling
- Model lifecycle: Train, evaluate, save, and load classification models
- Departmental ticket views: Separate tabs to view pending tickets per department
- User uploads: You can add your own PDFs and CSV files to train the model, save it, and re-upload for later use
- Python 3.10+
- Streamlit — Frontend framework
- Pinecone — Vector database for similarity search
- GROQ LLaMA-3 — Large language model API
- LangChain — Chain of LLM components
- SentenceTransformers — Embeddings generation
- Scikit-learn — SVM classification and evaluation
- PyPDF — PDF text extraction
- Python-dotenv — Environment variable management
- Clone the repo:
git clone https://github.com/thelakshyadubey/Automatic_Ticket_Classification_Tool.git
cd yourrepo- Install dependencies:
pip install -r requirements.txt- Setup environment variables in a .env file:
PINECONE_API_KEY=your_pinecone_api_key
GROQ_API_KEY=your_groq_api_key- Data ingestion: PDFs are read and split into text chunks, which are embedded using SentenceTransformers and stored in Pinecone.
- User query: When a user submits a query, the app retrieves semantically similar documents from Pinecone.
- Answer generation: GROQ's LLaMA-3 model answers the query based on the retrieved documents.
- Ticket classification: User queries are embedded and classified via a trained SVM to determine the responsible department.
- Ticket management: Tickets are stored in Streamlit session state and displayed under respective department tabs.
- Model lifecycle: Admin interface allows loading CSV data, training the SVM model, evaluating accuracy, and saving/loading the model for future use.
Lakshya Dubey



