Skip to content

VerbaBot is a private, local AI assistant with a RAG pipeline for enhanced conversations, knowledge management, and web access.

License

Notifications You must be signed in to change notification settings

KazKozDev/VerbaBot

Repository files navigation

VerbaBot Logo

VerbaBot

License GitHub Issues Last Commit

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.

VerbaBot Demo

Features

  • 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 Interface

Architecture

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

Installation

# 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

Usage

# Start the server
python3 server.py

The web interface will be available at file:///.../VerbaBot/wavy-animation.html

Configuration

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.

Environment Variables

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

Project Structure

  • server.py - Main server application
  • memory.py - Personal memory system
  • calendar_integration.py - Calendar functionality
  • search.py - Web search capabilities
  • chat.html - Main web interface
  • calendar.js - Calendar front-end
  • voice_input.py - Voice input processing
  • requirements.txt - Project dependencies

Contributing

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:

Artem KK | Issue Tracker

About

VerbaBot is a private, local AI assistant with a RAG pipeline for enhanced conversations, knowledge management, and web access.

Topics

Resources

License

Stars

Watchers

Forks