The problem
Support teams answer the same questions over and over, and generic AI chatbots make things up. Businesses want an assistant that answers from their own documents โ and admits when it doesn’t know.
What I built
A Retrieval-Augmented Generation (RAG) chatbot in Python. It chunks a company’s documents, retrieves the most relevant passages for each question, and has Claude answer using only those passages โ with citations to the source files.
The architecture is clean and swappable: ingestion โ retrieval โ generation are separate modules, so the TF-IDF retriever can be replaced with embeddings and a vector database (Qdrant, Pinecone, pgvector) without touching the rest. It streams answers, and runs in an offline retrieval-only mode with no API key.
Outcome
A grounded, no-hallucination support assistant you can point at any knowledge base โ the same pattern behind customer-support bots, internal knowledge assistants and “chat with your docs” features.