Spaces:
Build error
Build error
| 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). | |