metechmohit commited on
Commit
3d16f70
·
verified ·
1 Parent(s): 06fbf75

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +40 -24
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 Smart Search Tool
15
 
16
- This project uses a **Large Language Model (LLM)** to help users find the most relevant free courses on Analytics Vidhya’s platform. Powered by **Groq's LLM**, the tool intelligently processes user queries and ranks courses by relevance, ensuring an advanced and intuitive search experience.
17
 
18
  ## 🌟 Key Features
19
 
20
- - **Smart LLM-Powered Search**: Queries are processed by Groq's LLM to deliver relevant courses based on user input.
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 scored for relevance, with only the most relevant results displayed.
23
- - **Streamlit UI**: Built with Streamlit for a clean and user-friendly interface.
24
- - **Deployed on Hugging Face**: Accessible via Hugging Face Spaces for easy use and sharing.
25
 
26
  ## 🧠 How It Works
27
 
28
  1. **Web Scraping**: The tool scrapes course titles, images, and URLs from Analytics Vidhya.
29
- 2. **LLM-Driven Search**: Groq's LLM analyzes the user query and ranks the courses based on relevance.
30
- 3. **Results Display**: Top results are shown with course titles, images, and relevance scores.
 
31
 
32
  ## 🚀 Technologies
33
 
34
  - **Python**: Backend processing.
35
- - **Streamlit**: UI framework.
36
- - **BeautifulSoup**: For web scraping.
37
- - **Groq LLM**: Powering smart search.
38
- - **Pandas**: Data management.
39
- - **Hugging Face Spaces**: Deployment.
40
 
41
- ## 🛠️ How to Run
42
 
43
- 1. Clone the repo:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
  ```bash
45
  git clone https://huggingface.co/spaces/metechmohit/Smart_Search_LLM
46
- cd /Smart_Search_LLM
47
  ```
48
 
49
- 2. Install dependencies:
50
  ```bash
51
- pip install -r requirements.txt
 
52
  ```
53
 
54
- 3. Add your **Groq API key** to a `.env` file:
55
- ```
56
- GROQ_API_KEY=your-groq-api-key
57
  ```
58
 
59
- 4. Run the app:
60
  ```bash
61
- streamlit run streamlit_app.py
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