How roshika1235/customersupportsystem works
This repository is a customer-support desk: agents submit tickets, receive ML triage and similar-ticket context, then get an LLM-generated summary, draft reply, and recommended actions. Tickets and analyses are saved so agents can track status and review history; a dashboard summarizes saved-ticket trends. A separate model-preparation branch cleans and labels data and trains classifiers. The map follows documented API/UI calls and sampled backend logic; some training, prediction, and storage wiring is inferred only at subsystem level or omitted where excerpts do not establish it.
Main entry points: main_fastapi.py FastAPI service · app.py Streamlit navigation · llm_pipeline.py LLM analysis · llm_client.py LLM client
Components 18
Agent interface
- Streamlit navigation
app.py - New ticket
views/new_ticket.py - Ticket management
views/manage_tickets.py - Ticket dashboard
views/dashboard.py
Ticket analysis service
- FastAPI service
main_fastapi.py - ML predictions
ml_predictor.py - Similar-ticket search
similar_tickets.py - LLM analysis
llm_pipeline.py - Escalation rules
suggestions.py - LLM client
llm_client.py
Model preparation
- Data preparation
data_preprocessing.py - LLM label generation
label_with_llm.py - Classifier training
train_pipelines.py - Ticket dataset
final_dataset_customer_support.csv
Ticket records
- Ticket persistence
database.py - Ticket database
database.py
Other components
- Support agent
- OpenRouter
Connections 19
- Support agent → Streamlit navigation: uses
- Streamlit navigation → New ticket: opens
- Streamlit navigation → Ticket management: opens
- Streamlit navigation → Ticket dashboard: opens
- New ticket → FastAPI service: submits ticket
- Ticket management → FastAPI service: requests tickets
- Ticket dashboard → FastAPI service: requests stats
- FastAPI service → ML predictions: predicts labels
- FastAPI service → Similar-ticket search: searches tickets
- FastAPI service → LLM analysis: runs analysis
- LLM analysis → LLM client: requests completion
- LLM analysis → Escalation rules: checks escalation
- LLM client → OpenRouter: sends prompt
- LLM label generation → LLM client: requests labels
- FastAPI service → Ticket persistence: saves and reads
- Ticket persistence → Ticket database: reads and writes
- Data preparation → Ticket dataset: cleans data
- LLM label generation → Ticket dataset: labels tickets
- Classifier training → Ticket dataset: trains from