Update README.md
Browse files
README.md
CHANGED
|
@@ -10,3 +10,80 @@ pinned: false
|
|
| 10 |
---
|
| 11 |
|
| 12 |
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
---
|
| 11 |
|
| 12 |
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
| 13 |
+
|
| 14 |
+
# 🤖 Chatbot with URL-based Document Retrieval
|
| 15 |
+
|
| 16 |
+
This Streamlit app is designed to provide a chatbot interface for querying content from a blog post URL. It utilizes various NLP models to retrieve and summarize relevant content based on user queries.
|
| 17 |
+
|
| 18 |
+
## Features
|
| 19 |
+
|
| 20 |
+
- **URL Input**: Allows users to input the URL of a blog post.
|
| 21 |
+
- **API Key Input**: Users can either use pre-provided API keys or enter their own.
|
| 22 |
+
- **Chat Interface**: Users can ask questions related to the content of the blog post.
|
| 23 |
+
- **Dynamic Styling**: Includes colorful, animated backgrounds and a stylish sidebar.
|
| 24 |
+
- **Response Generation**: Uses models to retrieve and summarize content related to the query.
|
| 25 |
+
|
| 26 |
+
## Installation
|
| 27 |
+
|
| 28 |
+
To run this app, ensure you have Python installed, then install the necessary packages using the provided `requirements.txt` file.
|
| 29 |
+
|
| 30 |
+
1. **Clone the repository**:
|
| 31 |
+
```bash
|
| 32 |
+
git clone https://github.com/mldatascientist23/Generative_AI_Projects.git
|
| 33 |
+
```
|
| 34 |
+
|
| 35 |
+
2. **Navigate to the project directory**:
|
| 36 |
+
```bash
|
| 37 |
+
cd your-repository
|
| 38 |
+
```
|
| 39 |
+
|
| 40 |
+
3. **Create and activate a virtual environment** (optional but recommended):
|
| 41 |
+
```bash
|
| 42 |
+
python -m venv env
|
| 43 |
+
source env/bin/activate # On Windows use: .\env\Scripts\activate
|
| 44 |
+
```
|
| 45 |
+
|
| 46 |
+
4. **Install the required packages**:
|
| 47 |
+
```bash
|
| 48 |
+
pip install -r requirements.txt
|
| 49 |
+
```
|
| 50 |
+
|
| 51 |
+
## Usage
|
| 52 |
+
|
| 53 |
+
1. **Run the Streamlit app**:
|
| 54 |
+
```bash
|
| 55 |
+
streamlit run app.py
|
| 56 |
+
```
|
| 57 |
+
|
| 58 |
+
2. **Access the app**:
|
| 59 |
+
Open a web browser and navigate to `https://huggingface.co/spaces/datascientist22/blogpostQA-retrieval-bot` to interact with the chatbot.
|
| 60 |
+
|
| 61 |
+
### Sidebar Configuration
|
| 62 |
+
|
| 63 |
+
- **Enter Blog Post URL**: Input the URL of the blog post you want to retrieve data from.
|
| 64 |
+
- **Use pre-provided API keys**: Check this box if you want to use pre-provided API keys. If unchecked, enter your own API keys.
|
| 65 |
+
- **API Key Fields**: Enter your LangChain and Groq API keys if not using pre-provided keys.
|
| 66 |
+
|
| 67 |
+
### Main Interface
|
| 68 |
+
|
| 69 |
+
- **Ask a question based on the blog post**: Type your question in the input field and click "Submit Query" to get a response based on the content of the blog post.
|
| 70 |
+
|
| 71 |
+
## Error Handling
|
| 72 |
+
|
| 73 |
+
- **URL Validation**: Ensure that the URL is valid before submitting.
|
| 74 |
+
- **API Key Submission**: Both API keys must be provided unless using pre-provided keys.
|
| 75 |
+
|
| 76 |
+
## Notes
|
| 77 |
+
|
| 78 |
+
- Ensure that the `requirements.txt` file includes the necessary libraries, such as `streamlit`, `langchain`, `langchain_chroma`, `langchain_community`, `langchain_core`, `langchain_text_splitters`, `sentence_transformers`, `torch`, and `transformers`.
|
| 79 |
+
- The app uses the `facebook/bart-large-cnn` model for summarization, and `SentenceTransformer` for embedding.
|
| 80 |
+
|
| 81 |
+
## License
|
| 82 |
+
|
| 83 |
+
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
|
| 84 |
+
|
| 85 |
+
## Author
|
| 86 |
+
|
| 87 |
+
- **Created by [Engr. Hamesh Raj](https://www.linkedin.com/in/datascientisthameshraj/)**
|
| 88 |
+
|
| 89 |
+
Feel free to open an issue or submit a pull request if you have any questions or suggestions!
|