Detailed project explanation video : https://drive.google.com/file/d/17FeAEHYOKM4AFdKDUU_PDkh1s92C2cFG/view?usp=sharing
What if there is a LLM powered chatbot designed to provide personalized product recommendations and insights based purely on customer reviews and their sentiments rather than product description.
I mean let's be honest we look at ratings but we can't read all the reviews (nobody has time to read'em).
so, what if we scrape the reviews of products given by people for the products under same catogery belong different companies and get honest answers be it positive or negative and make a decision to buy it or not.
Roadmap :
Scrape the pdt id , reviews ,sentiments and other info from e-commerce site [used reviews for building embeddings , rest of the pdt info is used as meta data]
Bring the data in proper format such as document format for the gemini 1.5 pro to convert them into embedding.
Create embeddigns used ASTRA DB to store the embeddings in the cloud.
Build a retriver and create a chain using langchain.
Demo using streamlit
don't stop there test the code locally using flask api with postman
Then use streamlit as front end , create a AWS - EC2 instance , clone the git repo - install dependencies.
update the port in security inbound rules for the flask
Test the public API using postman post request to check how the app is responding
take the public - exposed IP and change the POST request IP in streamlit followed by creating a new inbound rule for streamlit port
Finally copy the public IP with streamlit port and monitor how the app is wworking.
Stop the instance, can't bear AWS bill.
The project is built with Langchain for document processing and embeddings, integrated with AstraDB Vector Store to store and search vectors efficiently.
Trained on product reviews from e-commerce dataset of headphones the chatbot enables users to gain insights about products directly from real customer feedback rather than product description.
The chatbot is deployed using Streamlit, offering an intuitive user interface where users can ask product-related queries and receive responses in real-time. The system is designed for scalability, and with its flexible architecture
it can be extended to support additional brands or languages in the future.
Check the following video for the end result :
Ecommerce_product_reviews.1.online-video-cutter.1.mp4
Once I locally experiemnted with streamlit UI , then used flask API to test the functionality using PostMan
.
.
.
Started Pinging in the browser . .
. .
Created AWS-EC2 instance , cloned the git repo and installed the dependencies and creaated a inbound rule for flask
. .
. .
Updated the public IP in streamlit final code with nano (scared of vim)
. .
. .
And finally tested the public-exposed IP and sent a post request with Postman to keep my sanity.
. .