Smart_Search_LLM / README.md
metechmohit's picture
Update README.md
758463c verified
---
title: Smart Search LLM
emoji: 🦀
colorFrom: blue
colorTo: gray
sdk: streamlit
sdk_version: 1.39.0
app_file: app.py
pinned: false
license: mit
short_description: LLM based search tool for free courses on Analytics Vidhya
---
# 📚 Analytics Vidhya Free Courses Search App
This project is a **Streamlit-based web application** designed to help users find the most relevant free courses on Analytics Vidhya’s platform. Using **Hugging Face’s `all-MiniLM-L6-v2`** for embeddings and **FAISS** for fast similarity search, the tool provides an efficient and intuitive search experience.
## 🌟 Key Features
- **Embeddings for Smart Search**: Course titles are converted into embeddings using Hugging Face’s `all-MiniLM-L6-v2` model, enabling accurate matching with user queries.
- **Real-time Course Data**: The app scrapes and updates course data directly from Analytics Vidhya's free courses page.
- **Ranked Recommendations**: Each course is ranked based on its relevance to the user query, displaying only the top results.
- **User-Friendly Interface**: Built with Streamlit, the app offers a clean and intuitive interface for easy navigation.
- **Fast Similarity Search**: Uses FAISS to quickly retrieve the top relevant courses based on query embeddings.
## 🧠 How It Works
1. **Web Scraping**: The tool scrapes course titles, images, and URLs from Analytics Vidhya.
2. **Embedding Generation**: Course titles are transformed into embeddings using the `all-MiniLM-L6-v2` model from Hugging Face.
3. **Similarity Search**: FAISS is employed to efficiently search for the closest matches to the user’s query embedding.
4. **Results Display**: The top 10 relevant courses are displayed with their titles, images, and relevance scores.
## 🚀 Technologies
- **Python**: Backend processing.
- **Streamlit**: UI framework for building the web application.
- **BeautifulSoup**: For web scraping to gather course data.
- **Hugging Face Transformers**: For generating embeddings using the `all-MiniLM-L6-v2` model.
- **FAISS**: For fast similarity search across course embeddings.
- **Pandas**: For data management and manipulation.
## 📥 Installation and Setup
1. **Clone the Repository**
```bash
git clone https://huggingface.co/spaces/metechmohit/Smart_Search_LLM
cd\Smart_Search_LLM
```
2. **Set Up Virtual Environment**
```bash
python -m venv myenv
source myenv/bin/activate # On Windows, use myenv\Scripts\activate
```
3. **Install Dependencies**
```bash
pip install -r requirements.txt
```
4. **Run the Application**
```bash
streamlit run app.py
```
## 🌐 Deployed Version
You can try the live version on Hugging Face Spaces:
[**Live Demo**](https://huggingface.co/spaces/metechmohit/Smart_Search_LLM)
---
Developed by [@metechmohit](https://github.com/metechmohit).