- Founder: Abdullah Khawer - LinkedIn
AI Local Chat Bot is an AI-powered chat assistant like ChatGPT running locally, safely and privately using n8n for workflow orchestration, Qdrant for vector storage, and Ollama for running local LLMs. It also includes helper scripts for downloading and processing Confluence pages as PDFs.
Purpose: To ingest it with your private data in .PDF format (for now) and then use it to ask questions and get answered like any AI chat bot.
- n8n: Orchestrates chat and data ingestion workflows (http://localhost:5678)
- Qdrant: Vector database for storing document embeddings (http://localhost:6333)
- Ollama: Local LLM inference (http://localhost:11434)
- Confluence PDF Downloader: Download all pages from a Confluence space as PDFs for ingestion
| Resource | Minimum | Recommended | Best/Production |
|---|---|---|---|
| CPU | 2 cores | 4+ cores | 8+ cores (modern x86_64) |
| Memory | 4 GB | 8 GB | 16+ GB |
| Disk Space | 10 GB (free) | 30 GB (free) | 100+ GB SSD/NVMe |
Notes:
- Running large LLMs with Ollama may require more memory and CPU for optimal performance.
- SSD/NVMe storage is highly recommended for best performance, especially for vector DB and model files.
- For production, consider dedicated resources and regular backups for Qdrant data.
- See
helper-scripts/confluence_pdf_downloader.pyfor script usage and configuration details (also documented below in this README).
-
Start the stack:
./start.sh
-
Access n8n UI:
- Open http://localhost:5678 in your browser.
- Sign up for the first time.
-
n8n Workflows:
- The workflow in
n8n-workflows/ai-chat-assistant.jsonhandles PDF ingestion and chat bot. Import it via UI to make use of it.
- The workflow in
-
Download Confluence PDFs (optional):
cd helper-scripts pip install -r requirements.txt python confluence_pdf_downloader.pyFollow the prompts or set these environment variables:
CONFLUENCE_URLCONFLUENCE_USERNAMECONFLUENCE_API_TOKENCONFLUENCE_SPACE_KEY
PDFs will be saved in
helper-scripts/data/confluence_<SPACE_KEY>/. -
Data Ingestion:
- Upload PDFs via the n8n form trigger from the n8n UI appeared after workflow import.
-
Ask:
- Ask your question to the chat bot and wait for the answer.
- Docker & Docker Compose
- Python 3.8+
- For helper scripts:
pip install -r helper-scripts/requirements.txt
Script: helper-scripts/confluence_pdf_downloader.py
Downloads all pages from a Confluence space as PDFs. Uses the Confluence REST API and can convert HTML to PDF if direct export is unavailable.
cd helper-scripts
python3 confluence_pdf_downloader.pyYou will be prompted for credentials or can set them as environment variables.
docker-compose.yml— Service definitions for n8n, Qdrant, Ollaman8n-workflows/— n8n workflow JSON fileshelper-scripts/— Python scripts and requirements for data ingestionstart.sh— Launches the stack and sets up helper scripts
The following models are required and will be pulled automatically by the start script:
llama3.2(for chat)mxbai-embed-large(for embeddings)
To stop the application:
docker-compose downTo view logs for all services:
docker-compose logs -fContributions are welcome!
To contribute:
- Fork this repository and create a new branch for your feature or fix.
- Make your changes and ensure code quality and documentation are updated.
- Submit a pull request with a clear explanation of your changes.
For major changes, please open an issue first to discuss what you would like to change.
This project is licensed under the Apache License - see the LICENSE file for details.
