AI-Powered Business Management with RAG, Vision Extraction & Cinematic UI
Autonomous Business OS Demo is a fully local, AI-driven business management dashboard. It combines Ollama LLMs, ChromaDB vector search, and LangChain RAG chains into a polished Gradio interface with a cinematic dark theme.
Generate synthetic invoices, bulk-import customer data from images/PDFs via vision models, query your database with natural language, and chat with a floating AI assistant β all running 100% on your own hardware.
| Module | Capability |
|---|---|
| π₯ Customer Management | CRUD operations with vector-semantic search via ChromaDB |
| π Bulk Import | Drag-and-drop ZIP, PDF, or images. Auto-extracts customer data using local vision models |
| π§ͺ Test Data Generator | Creates high-variation synthetic invoices (PDF + ZIP) with random Texas-style business data |
| π RAG Search | Ask natural-language questions about your customers; LangChain RAG generates contextual answers |
| π¬ Floating AI Chat | Toggleable multimodal chatbot (text + image + PDF) in the bottom-right corner |
| π¨ Cinematic UI | Dark glassmorphism theme with animated starfield background |
βββββββββββββββββββββββββββββββββββββββββββ
β presentation/ (Gradio UI) β
β βββββββββββ βββββββββββ ββββββββββββ β
β βCustomersβ βTest Dataβ β Chat β β
β β Tab β β Tab β β(Floating)β β
β ββββββ¬βββββ ββββββ¬βββββ ββββββ¬ββββββ β
β βββββββββββββ΄ββββββββββββ β
β application/ β
β βββββββββββββββ βββββββββββββββ β
β βCustomerSvc β β ChatSvc β β
β β(RAG + CRUD) β β(Streaming) β β
β ββββββββ¬βββββββ ββββββββ¬βββββββ β
β ββββββββββ¬ββββββββ β
β infrastructure/ β
β βββββββββββ βββββββββββββββββββ β
β βChromaDB β β OllamaClient β β
β β(Vectors)β β(LLM + Vision) β β
β βββββββββββ βββββββββββββββββββ β
β config/settings.py β
βββββββββββββββββββββββββββββββββββββββββββ
Your system needs these OS-level libraries before installing Python packages:
Ubuntu / Debian
sudo apt update
sudo apt install -y libpango1.0-0 libcairo2 poppler-utilsmacOS
brew install pango cairo popplerWindows
- Install GTK+ for Windows (for WeasyPrint)
- Install Poppler for Windows and add
bin/to your PATH
git clone https://github.com/RealRaven/AutonomousBusinessOS-Demo.git
cd AutonomousBusinessOS-Demo
# Create virtual environment
python3 -m venv .venv
# or: python -m venv .venv # Windows
# Activate
source .venv/bin/activate # Linux/macOS
# or: .venv\Scripts\activate # Windows
# Install dependencies
pip install -r requirements.txtcp .env.example .env
# Edit .env with your preferred editor
# or Edit config/settings.pyEnsure Ollama is running locally with your chosen model:
ollama pull qwen3.5:4b
ollama pull mxbai-embed-large
ollama servepython run.pyOpen your browser at http://127.0.0.1:7860
Create a .env file in the project root. All values have sensible defaults.
| Variable | Default | Description |
|---|---|---|
OLLAMA_HOST |
http://localhost:11434 |
Ollama API endpoint |
OLLAMA_MODEL |
qwen3.5:4b |
Main chat / extraction model |
OLLAMA_EMBEDDING_MODEL |
mxbai-embed-large |
Embedding model for ChromaDB |
OLLAMA_TEMPERATURE |
0.7 |
LLM creativity |
OLLAMA_MAX_TOKENS |
4096 |
Max response length |
CHUNK_SIZE |
1000 |
Text splitter chunk size |
CHUNK_OVERLAP |
200 |
Text splitter overlap |
APP_TITLE |
Autonomous Business OS Demo |
Browser tab title |
autonomous-business-os/
βββ config/
β βββ__init__.py
β βββ settings.py # Frozen dataclass config with env var support
β βββ .env.example # Template for local environment variables
βββ core/
β βββ__init__.py
β βββ models.py # Customer dataclass with to_text() / to_dict()
βββ application/
β βββ__init__.py
β βββ customer_service.py # High-level CRUD + RAG business logic
β βββ chat_service.py # Streaming chat with image/PDF support
βββ infrastructure/
β βββ__init__.py
β βββ database/
β β βββ__init__.py
β β βββ chroma_client.py # Low-level ChromaDB wrapper + LangChain embeddings
β βββ llm/
β βββ__init__.py
β βββ ollama_client.py # Centralized Ollama client (HTTP + LangChain LCEL)
βββ presentation/
β βββ__init__.py
β βββ ui_manager.py # Orchestrates tabs + floating chat
β βββ styles.css # Cinematic dark theme + glassmorphism
β βββ tabs/
β β βββ__init__.py
β β βββ customers_tab.py # Customer CRUD, bulk import, AI fill, RAG query
β β βββ test_data_tab.py # Synthetic invoice PDF generator
β β βββ chat_tab.py # Floating multimodal chat interface
β βββ assets/
β βββ__init__.py
β βββ img/
β βββ avatar.png # AI assistant avatar (add your own)
βββ__init__.py
βββ run.py # Main entry point (Gradio Blocks + starfield JS)
βββ requirements.txt
βββ .gitignore
βββ .env.example
βββ pyproject.toml
βββ LICENSE
βββ README.md
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β¨ Starfield Background β π€ Floating Chat (toggle) β
β β βββββββββββββββ β
β π₯ Customers β π§ͺ Test β β How can I β β
β βββββββββββββ β Data β β help you? β β
β [Bulk Upload] β [Generate] β βββββββββββββββ β
β [AI Fill] β β β
β [Table] β β β
β [RAG Query] β β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Layer | Technology |
|---|---|
| UI | Gradio 6.x, Custom CSS (glassmorphism), HTML5 Canvas |
| LLM | Ollama (Qwen, Llama, etc.) |
| Embeddings | OllamaEmbeddings (mxbai-embed-large) |
| Vector DB | ChromaDB (persistent, cosine similarity) |
| RAG | LangChain LCEL ChatPromptTemplate | ChatOllama | StrOutputParser |
| Vision | Base64 image encoding + Ollama vision models |
pdf2image (Poppler) + weasyprint (HTMLβPDF) |
|
| Config | Python dataclasses + os.getenv |
MIT License β see LICENSE for details.
Q: Does this work without internet?
Yes. Once models are pulled via Ollama, everything runs entirely locally.
Q: Can I use a different LLM?
Absolutely. Change OLLAMA_MODEL in your .env to any model with vision capacity supported by Ollama.
Q: Where is my data stored?
Locally in ./dbs/chroma/. Nothing leaves your machine.
Built with Gradio, LangChain, ChromaDB, and Ollama β all running 100% locally on your hardware.
