Skip to content

MadickAngeCesar/chatbot

Repository files navigation

Madick AI Chatbot

License: MIT Python 3.8+ Ollama PyQt6

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

✨ Features

  • 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

🚀 Installation

  1. Clone this repository:
git clone https://github.com/yourusername/madick-ai-chatbot.git
cd madick-ai-chatbot
  1. Install the required dependencies:
pip install -r requirements.txt
  1. Make sure you have Ollama installed and running:

Usage

Run the application:

python main.py

Or on Windows, you can double-click the run_chatbot.bat file.

Keyboard Shortcuts

  • Ctrl+Enter: Send message
  • Ctrl+L: Clear chat
  • Ctrl+E: Export chat
  • Ctrl+F: Search in chat
  • Ctrl+T: Toggle theme
  • Ctrl+N: New session
  • Ctrl+Shift+V: Voice input
  • Ctrl+,: Open settings

Project Structure

  • main.py - Application entry point
  • chatbot.py - Main application window and UI
  • database.py - SQLite database for conversation history
  • settings_dialog.py - Settings configuration dialog
  • splash_screen.py - Application splash screen
  • icon_manager.py - Icon management and fallback icons
  • templates_manager.py - Prompt template management
  • themes.py - Theme management
  • welcome_screen.py - First-run welcome wizard
  • export_dialog.py - Dialog for exporting conversations

Dependencies

  • PyQt6
  • langchain-ollama
  • markdown
  • pygments
  • SpeechRecognition

🛠️ Development Setup

  1. Set up a virtual environment (recommended):
python -m venv venv
source venv/bin/activate  # On Windows use `venv\Scripts\activate`
  1. Install the development dependencies:
pip install -r requirements-dev.txt
  1. Run the application in development mode:
python main.py

🤝 Contributing

We welcome contributions! Please read our Contributing Guidelines for more details.

License

MIT

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages