How ShoppingGPT's system architecture works
mainShoppingGPT uses a modular architecture to route queries between general conversation and specialized shopping tasks:
- User Interface: A Flask web app that handles input/output.
- Semantic Router: Uses
GoogleGenerativeAIEmbeddingsand thesemantic-routerlibrary to classify queries using cosine similarity. It uses a fine-tuned Hugging Face model (hang1704/opendaisy) to distinguish between 'chitchat' and 'product-related' queries. - Query Handlers:
- Chitchat Chain: Handles general conversation using
Gemini-1.5-flashandConversationBufferMemory. - Shopping Agent: Handles product queries using two tools:
- Product Search Tool: Queries a SQLite database via the
ProductDataLoaderclass. - Policy Search Tool: Performs similarity searches on company policies using a FAISS vector store.
- Product Search Tool: Queries a SQLite database via the
- Chitchat Chain: Handles general conversation using
- Data Storage: Uses SQLite for product data and FAISS for policy information.