Overview
Shopping for a high-end bicycle online means sifting through hundreds of models, each with dense technical specifications spread across product pages. Comparing frames, drivetrains, and pricing across a full product lineup is time-consuming and overwhelming, especially for riders who aren't sure what they need.
This project tackles that problem with an agentic RAG (Retrieval-Augmented Generation) system that acts like a knowledgeable bike shop employee. Rather than a single RAG chain, the system routes queries through five purpose-built tools (search, summarize, detail, compare, and recommend), each with its own prompt template and retrieval strategy. An AI agent backed by GPT-4o decides which tool to invoke based on the user's intent, retrieves relevant bike data from a MongoDB Atlas vector store, and synthesizes responses grounded in real product specifications.
What makes this implementation interesting is the tool-calling agent architecture: the agent autonomously selects the right tool for each query, enabling it to handle everything from quick overviews to detailed side-by-side comparisons within a single conversational interface. Streamlit chat history persists across the session, so users can ask natural follow-ups like *"what about the carbon version?"* without restating context.
Key Takeaway: By combining agentic tool selection with semantic vector search and conversational memory, the assistant delivers a shopping experience that goes far beyond traditional keyword search or static FAQ pages.
