Product Support Assistant Project
Overview
This project simulates a lightweight product support system that combines product knowledge retrieval with AI-driven query classification and response generation.
The goal was to design a practical, end-to-end assistant that mirrors how modern support systems operate: understanding user intent, retrieving relevant information, and guiding users toward resolution or escalation.
Rather than building a generic chatbot, the focus was on structured workflows, clear routing logic, and controlled use of LLMs to ensure predictable and useful outputs.
The Problem
Customer support teams and presales functions often deal with two overlapping types of queries:
- product-related questions (features, specs, comparisons)
- support issues (account, billing, technical problems)
Without clear routing, these queries can:
- increase ticket volume unnecessarily
- delay resolution times
- create inconsistent customer experiences
The challenge was to design a system that can reliably distinguish between these intents and respond appropriately.
My Approach
I structured the assistant as a decision driven workflow rather than a generic chatbot.
The system processes each user message through three stages:
- Intent classification
Determine whether the query is a Product Inquiry or Support Request using GPT - Context retrieval or routing
- Product queries → fetch structured data from a predefined catalogue
- Support queries → classify into subcategories (billing, technical, account, etc.)
- Response generation
Use GPT with controlled prompts and injected context to generate concise, relevant responses
This approach ensures that the model is not hallucinating information but instead grounded in known data or predefined support flows.
What I Built
- A Python based assistant implemented in Jupyter Notebook
- A structured product catalogue covering multiple categories (Laptops, Phones, TVs, Desktops)
- Query classification logic using GPT with JSON output parsing
- Product retrieval functions (by name and category)
- Support request sub-classification for routing (billing, technical, account management)
- Context-aware response generation using prompt engineering
- A command-line chat loop to simulate real user interaction
Tech Stack
- Python
- OpenAI API (GPT-3.5-turbo)
- Jupyter Notebook
- dotenv for environment management
- JSON parsing for structured outputs
Key Technical Decisions
1. Structured classification before response generation
Instead of generating responses directly, the system first classifies intent and extracts structured data. This reduces ambiguity and improves reliability.
2. Grounding responses in a product catalogue
Product answers are generated using predefined data rather than relying purely on the model. This avoids hallucination and ensures consistency.
3. Separation of logic and language generation
Core logic (classification, retrieval, routing) is handled in Python, while GPT is used only for tasks where natural language adds value.
4. Controlled prompt design with JSON outputs
Using strict JSON formats for classification ensures the system can reliably parse and act on model outputs.
Outcome
The project delivers a working prototype of an AI powered support assistant that can:
- classify user intent accurately
- retrieve and summarise product information
- route support queries into structured categories
- generate clear, context-aware responses
It demonstrates a complete flow from user input to actionable output, similar to real customer support or presales tooling.
What I Would Build Next
- Replace static product data with a database or API integration
- Add a web interface (e.g. Streamlit or React frontend)
- Implement conversation memory for multi-turn interactions
- Integrate with a ticketing system (e.g. Zendesk or Salesforce Service Cloud)
- Add analytics to track query types and resolution effectiveness
- Experiment with vector search for more flexible product retrieval
Repository
Project information
- Category: AI Applications
- Project date: 11 August, 2025
- Project URL: https://github.com/JayRua/product-support-assistant/