File size: 2,854 Bytes
ad37370
 
 
 
 
 
 
 
 
 
 
 
 
3d16f70
68d3f97
3d16f70
68d3f97
 
 
3d16f70
 
 
 
 
68d3f97
 
 
 
3d16f70
 
 
68d3f97
 
 
 
3d16f70
 
 
 
 
68d3f97
 
3d16f70
 
 
68d3f97
 
3d16f70
68d3f97
 
3d16f70
68d3f97
3d16f70
 
68d3f97
 
3d16f70
 
 
68d3f97
 
3d16f70
68d3f97
3d16f70
68d3f97
 
 
 
 
 
 
f33b93e
 
68d3f97
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
---
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).