WEBWHISPER is a Streamlit-based chatbot that allows users to interact with any website by pasting its URL. Using web scraping, FAISS vector storage, and OpenAI's language model, the app retrieves relevant content from the website and provides AI-powered responses. Additionally, it offers text-to-speech (TTS) functionality to convert AI responses into audio.
- 🌐 Interact with Websites - Enter a URL to scrape and index the content.
- 🔍 AI-Powered Responses - Uses Retrieval-Augmented Generation (RAG) to provide accurate answers.
- 🗂 FAISS Vector Storage - Efficiently indexes and retrieves website content.
- 🎤 Text-to-Speech (TTS) - Converts AI responses into speech.
- 🔄 Context-Aware Chat - Keeps track of conversation history for better responses.
git clone https://github.com/yourusername/webwhisper.git
cd webwhisperCreate a virtual environment (optional but recommended):
python -m venv venv
source venv/bin/activate # On Windows use: venv\Scripts\activateInstall required packages:
pip install -r requirements.txtCreate a .env file and add your OpenAI API key:
OPENAI_API_KEY=your_openai_api_key_here
Start the Streamlit app by running:
streamlit run app.py- Enter a website URL in the sidebar.
- The app will scrape and index the content.
- Ask questions in the chat input.
- AI will respond based on website content.
- Click Play to hear the response as audio.
Try the app here: WEBWHISPER Live
- Streamlit - UI Framework
- LangChain - AI-powered retrieval and chat processing
- FAISS - Vector storage for efficient content retrieval
- OpenAI API - LLM for intelligent responses
- gTTS - Text-to-Speech conversion
- Web Scraping - Extracting data from websites
Pull requests are welcome! Feel free to fork and submit improvements.
This project is licensed under the MIT License.
For questions or feedback, reach out at [your email].