This project is a Streamlit-powered chatbot application that allows users to chat with an AI assistant named AskAI. The chatbot is capable of answering user queries and can enhance its knowledge base by processing and storing documents. It also offers the ability to change the assistant's personality between Formal, Casual, and Humorous.
- Document Upload: Add new files to enhance the knowledge base of the chatbot.
- Chatbot Personalities: Choose between different assistant personalities: Formal, Casual, and Humorous.
- Document-based Contextual Responses: The assistant can retrieve context from uploaded documents to answer questions.
- Dynamic Knowledge Store: Utilizes FAISS for vector storage and retrieval, allowing efficient document embedding and query answering.
- Profile Section: Displays user contact information with a circular framed profile picture.
- Python 3.x
- Streamlit
- LangChain
- NVIDIA AI Endpoints (API key required)
- FAISS
- Pillow (For image handling)
- dotenv (For environment variable management)
-
Clone the repository:
git clone https://github.com/yourusername/askai.git cd askai
-
Install the dependencies:
pip install -r requirements.txt
-
Add your NVIDIA API Key:
- Create a
.env
file in the project root. - Add the following line, replacing
your_api_key
with your actual API key:NVIDIA_API_KEY=your_api_key
- Create a
-
Place your profile picture:
- Save your profile picture as
profile_photo.png
in the project root directory.
- Save your profile picture as
Run the Streamlit app using the following command:
streamlit run app.py