A powerful multimodal LLM assistant with advanced RAG.
Local Control. Global Capabilities.
VerbaBot is an AI assistant designed to run locally, ensuring complete privacy of your data. By integrating language models with a Retrieval-Augmented Generation (RAG) pipeline, the chatbot offers intelligent conversations, information retrieval, and personal knowledge management - all within a user-friendly web interface.
- Calendar Integration: Manage your schedule through natural language
- Personal Memory System: The assistant remembers important personal information across conversations
- Advanced RAG Pipeline: Process and understand documents in multiple formats (PDF, DOCX, TXT, CSV, etc.)
- Image Analysis: Analyze and describe images
- Internet Access: Retrieve real-time information using DuckDuckGo search and deep web exploration
- Model Selection: Switch between different Ollama models in real-time to optimize for specific tasks
- Complete Privacy: All data processing happens locally on your device
VerbaBot consists of several integrated components:
- Core Assistant: Python-based server handling all interactions and intelligence
- RAG System: Document processing, vectorization, and retrieval system
- Memory System: Contextual memory for personalized interactions
- Calendar System: Natural language calendar management
- Web Interface: Responsive UI for interacting with the assistant
# Clone the repository
git clone https://github.com/KazKozDev/VerbaBot.git
cd VerbaBot
# Create a virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Ensure Ollama is running locally
# Visit https://ollama.ai/ to install if needed
# Start the server
python3 server.py
The web interface will be available at file:///.../VerbaBot/wavy-animation.html
VerbaBot uses local Ollama models. Default models:
- Main LLM:
gemma3:12b
- Image Recognition:
gemma3:12b
You can change these in the settings menu or directly in the server.py file.
Create a .env
file in the root directory with these optional settings:
# Google Calendar API (optional)
GOOGLE_API_KEY=your_api_key
GOOGLE_CLIENT_ID=your_client_id
GOOGLE_CLIENT_SECRET=your_client_secret
server.py
- Main server applicationmemory.py
- Personal memory systemcalendar_integration.py
- Calendar functionalitysearch.py
- Web search capabilitieschat.html
- Main web interfacecalendar.js
- Calendar front-endvoice_input.py
- Voice input processingrequirements.txt
- Project dependencies
Contributions are welcome! Please feel free to submit a Pull Request.
License - MIT
If you like this project, please give it a star ⭐
For questions, feedback, or support, reach out to: