Website RAG Chatbot
This project implements a Retrieval-Augmented Generation (RAG) system using Langchain, Google's Generative AI, and Gradio. It creates a chatbot interface that answers questions based on information retrieved from a pre-processed set of web pages.
https://ai-website-rag-url-yash-kavaiya-jcpa3msq3q-bq.a.run.app/
Features
- RAG system powered by Langchain and Google's Generative AI
- Local FAISS vector store for efficient information retrieval
- Customizable UI with CSS styling
Prerequisites
- Python 3.9 or higher
- Google API key for access to Generative AI models
- Langchain API key
- Pre-processed FAISS index (stored in
./Vector_DB/faiss_index)
Installation
Clone this repository:
git clone cd website-rag-chatbotInstall the required packages:
pip install -r requirements.txtSet up your environment variables: Create a
.envfile in the project root and add the following:GOOGLE_API_KEY=your_google_api_key LANGCHAIN_API_KEY=your_langchain_api_key
Usage
To run the chatbot locally:
python app.py
This will start the Gradio interface, typically accessible at http://localhost:7860.
Deployment
This project is configured for deployment to Google Cloud Run.
Build the Docker image:
docker build -t website-rag-chatbot .Tag and push the image to Google Container Registry:
docker tag website-rag-chatbot gcr.io/your-project-id/website-rag-chatbot docker push gcr.io/your-project-id/website-rag-chatbotDeploy to Cloud Run:
gcloud run deploy website-rag-chatbot --image gcr.io/your-project-id/website-rag-chatbot --platform managed
Remember to set the necessary environment variables in the Cloud Run configuration.
Project Structure
app.py: Main application file containing the Gradio interface and RAG logicDockerfile: Configuration for containerizing the applicationrequirements.txt: List of Python package dependenciesVector_DB/faiss_index: Pre-processed FAISS index (not included in repository)
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Langchain for the RAG framework
- Google for the Generative AI models
- Gradio for the easy-to-use interface building
Contact
Created by Yash Kavaiya - feel free to contact me!
- GitHub: https://github.com/Yash-Kavaiya
- LinkedIn: https://linkedin.com/in/Yash-Kavaiya

Log in or sign up for Devpost to join the conversation.