AI Engineering
Building a Grounded AI Support Copilot
I built the AI Support Copilot around a practical constraint: a support reply should be based on company knowledge, not only on what a language model happens to know. The product therefore starts with retrieval and treats generation as one step inside a larger workflow.
Knowledge-base documents are split into smaller chunks, converted into embeddings, and stored in PostgreSQL with pgvector. When a ticket arrives, the application classifies its category, priority, sentiment, and summary, then uses the ticket to retrieve relevant policy or help content. Those sources become the context for a proposed reply.
The generated draft includes citations and suggested next actions so the support agent can check its basis before using it. The agent can edit, accept, or reject the response. This keeps the model in an assistive role and makes the final decision visible and accountable.
One of the most useful lessons was that model choice is only part of the system. Document quality, chunk boundaries, retrieval queries, structured outputs, and the review interface all affect whether the result is useful. Improving any one of those pieces can matter more than switching to a larger model.
The project gave me a working foundation for RAG, vector search, ingestion, prompting, and feedback collection. More importantly, it reinforced a product principle: AI becomes valuable when it fits a real workflow and makes its supporting evidence easy to inspect.
Tech stack: Python, FastAPI, PostgreSQL, pgvector, Groq API, Docker