This project implements a simple customer support chatbot using Streamlit for the user interface and a pre-trained machine learning model for intent classification.
Users can interact with the chatbot by typing in their questions or requests. The chatbot will then predict the intent behind the user's message and provide a pre-defined response based on that intent.
- User-friendly chatbot interface powered by Streamlit.
- Intent classification using a pre-trained machine learning pipeline.
- Customizable dictionary mapping intents to corresponding responses.
chatbot-streamlit/
├── app.py # Main Streamlit application script
├── text_processing.py # Text preprocessing classes
└── customer_support_pipeline.pkl # Trained chatbot pipeline
- Clone the repository:
git clone https://https://github.com/Rajora0/faq-chatbot.git
- Navigate to the project directory:
cd app
- Create a virtual environment (recommended):
python -m venv .venv
- Activate the virtual environment:
- Windows:
.venv\Scripts\activate
- Linux/macOS:
source .venv/bin/activate
- Windows:
- Install the dependencies:
pip install -r requirements.txt
- Make sure the trained pipeline (
customer_support_pipeline.pkl
) is in the project directory. - Run the Streamlit app:
streamlit run app.py
- The chatbot interface will open in your web browser.
- Start typing your messages in the input field.
- Train a new model: To use a different intent classification model, train your own model and replace
customer_support_pipeline.pkl
with your saved pipeline file. - Update intents and responses: You can customize the
intent_responses
dictionary inapp.py
to modify existing responses or add new intents and their corresponding responses.
Contributions are welcome! Please open an issue or pull request if you have any suggestions or improvements.
This project is licensed under the MIT License.