Spaces:
Build error
Build error
Update README.md
Browse files
README.md
CHANGED
|
@@ -11,54 +11,70 @@ license: mit
|
|
| 11 |
short_description: LLM based search tool for free courses on Analytics Vidhya
|
| 12 |
---
|
| 13 |
|
| 14 |
-
# 📚 Analytics Vidhya
|
| 15 |
|
| 16 |
-
This project
|
| 17 |
|
| 18 |
## 🌟 Key Features
|
| 19 |
|
| 20 |
-
- **
|
| 21 |
-
- **Real-time Course Data**: The app scrapes and updates data directly from Analytics Vidhya's free courses page.
|
| 22 |
-
- **Ranked Recommendations**: Each course is
|
| 23 |
-
- **
|
| 24 |
-
- **
|
| 25 |
|
| 26 |
## 🧠 How It Works
|
| 27 |
|
| 28 |
1. **Web Scraping**: The tool scrapes course titles, images, and URLs from Analytics Vidhya.
|
| 29 |
-
2. **
|
| 30 |
-
3. **
|
|
|
|
| 31 |
|
| 32 |
## 🚀 Technologies
|
| 33 |
|
| 34 |
- **Python**: Backend processing.
|
| 35 |
-
- **Streamlit**: UI framework.
|
| 36 |
-
- **BeautifulSoup**: For web scraping.
|
| 37 |
-
- **
|
| 38 |
-
- **
|
| 39 |
-
- **
|
| 40 |
|
| 41 |
-
## 🛠️ How to Run
|
| 42 |
|
| 43 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 44 |
```bash
|
| 45 |
git clone https://huggingface.co/spaces/metechmohit/Smart_Search_LLM
|
| 46 |
-
cd
|
| 47 |
```
|
| 48 |
|
| 49 |
-
2.
|
| 50 |
```bash
|
| 51 |
-
|
|
|
|
| 52 |
```
|
| 53 |
|
| 54 |
-
3.
|
| 55 |
-
```
|
| 56 |
-
|
| 57 |
```
|
| 58 |
|
| 59 |
-
4. Run the
|
| 60 |
```bash
|
| 61 |
-
streamlit run
|
| 62 |
```
|
| 63 |
|
| 64 |
## 🌐 Deployed Version
|
|
|
|
| 11 |
short_description: LLM based search tool for free courses on Analytics Vidhya
|
| 12 |
---
|
| 13 |
|
| 14 |
+
# 📚 Analytics Vidhya Free Courses Search App
|
| 15 |
|
| 16 |
+
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.
|
| 17 |
|
| 18 |
## 🌟 Key Features
|
| 19 |
|
| 20 |
+
- **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.
|
| 21 |
+
- **Real-time Course Data**: The app scrapes and updates course data directly from Analytics Vidhya's free courses page.
|
| 22 |
+
- **Ranked Recommendations**: Each course is ranked based on its relevance to the user query, displaying only the top results.
|
| 23 |
+
- **User-Friendly Interface**: Built with Streamlit, the app offers a clean and intuitive interface for easy navigation.
|
| 24 |
+
- **Fast Similarity Search**: Uses FAISS to quickly retrieve the top relevant courses based on query embeddings.
|
| 25 |
|
| 26 |
## 🧠 How It Works
|
| 27 |
|
| 28 |
1. **Web Scraping**: The tool scrapes course titles, images, and URLs from Analytics Vidhya.
|
| 29 |
+
2. **Embedding Generation**: Course titles are transformed into embeddings using the `all-MiniLM-L6-v2` model from Hugging Face.
|
| 30 |
+
3. **Similarity Search**: FAISS is employed to efficiently search for the closest matches to the user’s query embedding.
|
| 31 |
+
4. **Results Display**: The top 10 relevant courses are displayed with their titles, images, and relevance scores.
|
| 32 |
|
| 33 |
## 🚀 Technologies
|
| 34 |
|
| 35 |
- **Python**: Backend processing.
|
| 36 |
+
- **Streamlit**: UI framework for building the web application.
|
| 37 |
+
- **BeautifulSoup**: For web scraping to gather course data.
|
| 38 |
+
- **Hugging Face Transformers**: For generating embeddings using the `all-MiniLM-L6-v2` model.
|
| 39 |
+
- **FAISS**: For fast similarity search across course embeddings.
|
| 40 |
+
- **Pandas**: For data management and manipulation.
|
| 41 |
|
|
|
|
| 42 |
|
| 43 |
+
## 💡 Usage
|
| 44 |
+
|
| 45 |
+
1. **Scraping Course Data**: The app will scrape all free courses from Analytics Vidhya. If the `scraped.csv` file doesn’t exist, it will automatically scrape and save the data.
|
| 46 |
+
2. **Search for Courses**: Users can enter keywords related to their desired courses and press the **Search** button. The app will return the top 10 most relevant courses based on their query.
|
| 47 |
+
3. **View Results**: Each result will display the course title, image, relevance score, and a link to the course page.
|
| 48 |
+
|
| 49 |
+
## 🛠️ Future Improvements
|
| 50 |
+
|
| 51 |
+
- **Enhanced Filtering Options**: Add filters for difficulty level, course duration, etc.
|
| 52 |
+
- **User Feedback**: Implement a mechanism for users to rate the relevance of displayed courses.
|
| 53 |
+
- **Dynamic Scraping**: Optimize the scraping process to handle changes in course listings.
|
| 54 |
+
|
| 55 |
+
|
| 56 |
+
## 📥 Installation and Setup
|
| 57 |
+
|
| 58 |
+
1. **Clone the Repository**
|
| 59 |
```bash
|
| 60 |
git clone https://huggingface.co/spaces/metechmohit/Smart_Search_LLM
|
| 61 |
+
cd\Smart_Search_LLM
|
| 62 |
```
|
| 63 |
|
| 64 |
+
2. **Set Up Virtual Environment**
|
| 65 |
```bash
|
| 66 |
+
python -m venv myenv
|
| 67 |
+
source myenv/bin/activate # On Windows, use myenv\Scripts\activate
|
| 68 |
```
|
| 69 |
|
| 70 |
+
3. **Install Dependencies**
|
| 71 |
+
```bash
|
| 72 |
+
pip install -r requirements.txt
|
| 73 |
```
|
| 74 |
|
| 75 |
+
4. **Run the Application**
|
| 76 |
```bash
|
| 77 |
+
streamlit run app.py
|
| 78 |
```
|
| 79 |
|
| 80 |
## 🌐 Deployed Version
|