Skip to content

MontyCraig/Chat-Bot-One

Repository files navigation

Ollama Chat Bot 1

Overview

Ollama Chat Bot 1 is a modern, feature-rich interface for interacting with Ollama models. Built with Flet, it provides a responsive and intuitive UI for chat conversations, code generation, and image analysis capabilities.

Current Status

The local project contains a substantial Python codebase, tests, and documentation, but it is still in an integration-hardening phase. On 2026-04-05 the repository was refreshed with CLAUDE.md, TDDaaS/CGaaS workflows, repo quality tests, and modern ignore/tooling files so it can be versioned and audited cleanly.

Features

  • Modern UI - Built with Flet for a responsive and intuitive interface
  • Model Selection - Browse and select from available Ollama models by category
  • Chat History Management - Save, load, and manage chat sessions
  • Code Detection - Automatically detect and extract code blocks from responses
  • Session Persistence - Conversations are saved as JSON files with text reports
  • Model Switching - Change models mid-conversation
  • Theme Support - Light and dark mode support
  • Multi-Modal Support - Support for text, code, and image inputs (for vision models)

Requirements

  • Python 3.10+
  • Ollama (locally installed)
  • Dependencies:
    • flet
    • langchain-ollama
    • langchain-core
    • ollama
    • pydantic
    • pyyaml
    • tiktoken

Installation

  1. Clone the repository:
git clone https://github.com/MontyCraig/Chat-Bot-One.git
cd Chat_Bot_One
  1. Install dependencies:
pip install -r requirements.txt
  1. Ensure Ollama is installed and running:
# Check if Ollama is running
ollama list

Usage

Run the application:

python app.py

Quality Gates

Local repo-quality checks:

python -m coverage run --rcfile=.coveragerc -m pytest -o addopts='' --noconftest \
  quality_tests tests/unit/utils/test_file_utils.py -q
python -m coverage report --rcfile=.coveragerc --fail-under=75

ruff check src quality_tests tests

Chat Interface

  1. Select a model from the Models tab
  2. Type your message in the input field
  3. View responses in the chat window
  4. Code blocks are automatically detected and can be saved

Model Selection

  1. Navigate to the Models tab
  2. Browse models by category
  3. Select a model to use for chat

Chat History

  1. Navigate to the History tab
  2. Browse and search previous conversations
  3. Load a previous conversation to continue

Settings

  1. Navigate to the Settings tab
  2. Configure application preferences
  3. Adjust theme, history limits, and other options

Project Structure

The project follows a modular structure:

chat_bot_1/
├── app.py                  # Main application entry point
├── src/                    # Source code directory
│   ├── ui/                 # User interface components
│   ├── models/             # Model interaction and management
│   ├── utils/              # Utility functions and helpers
│   ├── rag/                # Retrieval-Augmented Generation system
│   └── code_handler/       # Code detection and management
├── chats/                  # Chat history storage
├── reports/                # Generated text reports
└── docs/                   # Documentation

Development

See TODO.md for the legacy backlog and REPO_AUDIT_2026-04-05.md for the current priority order.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Chat Bot One - Local Implementation using Ollama

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages