A feature-rich desktop chatbot application built with PyQt6 and Ollama LLMs, designed for seamless local AI interactions.
Intelligent conversations on your desktop - no cloud required
- Multiple LLM Support: Seamlessly switch between various models:
- Llama 3 (8B and 70B variants)
- DeepSeek
- Mistral (7B and Instruct)
- Llama 2
- Any other model supported by Ollama
- Chat Management:
- Create, save, and load multiple chat sessions
- Organize conversations by topic or project
- Conversation History: Full searchable history with metadata
- Real-time Interactions:
- Streaming responses for natural conversation flow
- Voice input support for hands-free operation
- Productivity Tools:
- Template system for frequently used prompts
- File attachments for context-aware conversations
- Code syntax highlighting
- User Experience:
- Dark and light themes
- System tray integration
- Comprehensive keyboard shortcuts
- Export Options: Save conversations in JSON, TXT, HTML, or MD formats
- Clone this repository:
git clone https://github.com/yourusername/madick-ai-chatbot.git
cd madick-ai-chatbot
- Install the required dependencies:
pip install -r requirements.txt
- Make sure you have Ollama installed and running:
- Download from ollama.ai
- Pull models:
ollama pull llama3.2:1b - For more information about Ollama, see the Ollama Documentation
Run the application:
python main.py
Or on Windows, you can double-click the run_chatbot.bat file.
Ctrl+Enter: Send messageCtrl+L: Clear chatCtrl+E: Export chatCtrl+F: Search in chatCtrl+T: Toggle themeCtrl+N: New sessionCtrl+Shift+V: Voice inputCtrl+,: Open settings
main.py- Application entry pointchatbot.py- Main application window and UIdatabase.py- SQLite database for conversation historysettings_dialog.py- Settings configuration dialogsplash_screen.py- Application splash screenicon_manager.py- Icon management and fallback iconstemplates_manager.py- Prompt template managementthemes.py- Theme managementwelcome_screen.py- First-run welcome wizardexport_dialog.py- Dialog for exporting conversations
- PyQt6
- langchain-ollama
- markdown
- pygments
- SpeechRecognition
- Set up a virtual environment (recommended):
python -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
- Install the development dependencies:
pip install -r requirements-dev.txt
- Run the application in development mode:
python main.py
We welcome contributions! Please read our Contributing Guidelines for more details.
MIT