Developed by Julian Zulfikar, August 2023 - Discontinued March 2024 (Per Yelp's Request)
QuickYelp is a dynamic AI chatbot which scans through the information and reviews of a given Yelp business, then answers questions based on its training data. With this program, users are able to save a ton of time from having to manually read through the reviews themselves. Thus, our goal is to offer an easy and efficient way to retrieve a quick overview of a restaurant, as well as answer questions to the best of its ability.
QuickYelp is powered by three main APIs:
- Yelp Fusion API
- OpenAI API
- LangChain
We leverage Yelp Fusion to retrieve data related to the business in question. Following this, LangChain is utilized to feed documents to OpenAI's language model, GPT-4.
Once a user submits a query through LangChain's RetrievalQA chain, the query goes through two FAISS (Facebook AI Similarity Search) indexes:
- Index containing the Yelp business information (name, phone, hours, etc)
- Index containing the Yelp business reviews (ordered by Yelp Sort)
Both chatbot replies are received, then fed once more to OpenAI's GPT-4 language model. The replies are merged together to form a reply based on the provided information as well as the context found in user reviews, in order to return the most relevant reply possible.
- Python
- Flask
- Redis
- LXML
- Asyncio
- HTML/CSS
- Tailwind CSS
- JavaScript
- React
Demo Video: https://youtu.be/RuM0cEnhojY
- app.py: Flask implementation of the application
- shell.py: Shell implementation, as well as the main back-end functionality
- index.html: Home page; pop-up form
- chat.html: Chat page, makes asynchronous calls to app.py
As of the beginning of March 2024, the project has come to a close as per Yelp's request.
I thank you all for making this project worthwhile. At the time of closing, QuickYelp served over 250+ chat sessions and 3,000+ queries.
Here's to bigger projects soon!