RAGBot is a Retrieval-Augmented Generation (RAG) chatbot that leverages advanced AI techniques to provide accurate and context-aware responses by integrating external knowledge sources.
- Data Retrieval: Efficiently fetches relevant information from various sources.
- Preprocessing: Cleans and structures data for optimal performance.
- Scraping: Gathers data from web sources to enhance the knowledge base.
- Interactive Chat Interface: Engages users in meaningful conversations.
- Python 3.8 or higher
- Hugging Face API Token for accessing LLM
-
Clone the repository:
git clone https://github.com/sarbosarcar/RAGBot.git cd RAGBot
-
Set up a virtual environment:
python -m venv env source env/bin/activate # On Windows: env\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Configure environment variables:
- Create a
.env
file in the project root. - Add necessary API key as required by the application.
- Create a
-
Launch the Chatbot:
-
Start the application using
app.py
:streamlit run app.py
-
Access the chatbot interface through the provided local server address.
-
app.py
: Main application script.data.py
: Handles data operations.preprocess.py
: Data preprocessing routines.retrieval.py
: Information retrieval logic.scraper.py
: Web scraping functionalities.requirements.txt
: List of required Python packages.
This project is licensed under the MIT License. See the LICENSE file for details.
Special thanks to the LangChain and Streamlit communities for their invaluable resources and contributions.
We welcome contributions to enhance RAGBot. To contribute, please follow these steps:
-
Fork the repository:
Click the "Fork" button at the top right corner of the repository page.
-
Clone your fork:
git clone https://github.com/your-username/RAGBot.git cd RAGBot
-
Create a new branch:
git checkout -b feature/your-feature-name
-
Make your changes:
Implement your feature or bug fix.
-
Commit your changes:
git add . git commit -m "Add your commit message"
-
Push to your fork:
git push origin feature/your-feature-name
-
Create a pull request:
Go to the original repository and click the "New Pull Request" button. Provide a clear description of your changes.