Spaces:
Build error
Build error
A newer version of the Streamlit SDK is available:
1.53.1
metadata
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-v2model, 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
- Web Scraping: The tool scrapes course titles, images, and URLs from Analytics Vidhya.
- Embedding Generation: Course titles are transformed into embeddings using the
all-MiniLM-L6-v2model from Hugging Face. - Similarity Search: FAISS is employed to efficiently search for the closest matches to the userβs query embedding.
- 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-v2model. - FAISS: For fast similarity search across course embeddings.
- Pandas: For data management and manipulation.
π₯ Installation and Setup
Clone the Repository
git clone https://huggingface.co/spaces/metechmohit/Smart_Search_LLM cd\Smart_Search_LLMSet Up Virtual Environment
python -m venv myenv source myenv/bin/activate # On Windows, use myenv\Scripts\activateInstall Dependencies
pip install -r requirements.txtRun the Application
streamlit run app.py
π Deployed Version
You can try the live version on Hugging Face Spaces:
Live Demo
Developed by @metechmohit.