This AI-powered chatbot is built with Streamlit and integrates with Groq's API. It provides a user-friendly interface for text-based interactions, document processing and database connectivity.
- 💬 Text-based Interaction: Understands and responds to queries effectively
- 🧠 Context Awareness: Maintains conversation context for relevant responses
- 🎯 Model Selection: Automatically selects the appropriate model based on the query complexity
- 🤖 Agent-based Architecture: Utilizes LangChain's React agent for advanced reasoning and tool use
- 📄 Document Processing: Support for various document formats including:
- PDF files (using PyMuPDF)
- PowerPoint presentations (python-pptx)
- Excel spreadsheets (openpyxl)
- 📝 Text Extraction: OCR capabilities using Tesseract
- 🔍 Vector Search: Document embeddings using sentence-transformers and FAISS
-
Clone the project
git clone https://github.com/AugustinMORVAL/Multitask_Chatbot.git
-
Install dependencies
pip install -r requirements.txt
-
Run the Chatbot
streamlit run chatbot.py
The application supports two methods for configuration:
Create a .env file in the root directory with your API keys:
GROQ_API_KEY=your-api-key-hereFor Streamlit Cloud deployment, create .streamlit/secrets.toml:
groq_api_key = "your-api-key-here"Note: Both
.envand.streamlit/secrets.tomlare included in.gitignorefor security.
- 🎯 Streamlit: Web interface and application framework
- 🤖 LangChain: LLM integration and chain management
- 🔍 Vector Search: FAISS for efficient similarity search
- 📄 Document Processing:
- PyMuPDF for PDF handling
- python-pptx for PowerPoint files
- openpyxl for Excel files
- pytesseract for OCR
- 🔤 Embeddings: sentence-transformers for text embeddings
- 🌐 Web Search: DuckDuckGo integration
- 📊 Database: SQLAlchemy and MongoDB support
Contributions are welcome! Please feel free to submit pull requests or open issues for bugs and feature requests.
This is a demo version with limited functionality. Not all features listed above are currently implemented.
