Intelligent Document Chatbot - Portable Edition
Transform your document library into an interactive AI-powered knowledge base. DocuMind works seamlessly on Windows, Mac, and Linux with zero-configuration setup.
- 🤖 AI-Powered: GPT-4 and Azure OpenAI integration
- 📄 Multi-Format: PDF, DOCX, TXT support
- 🔍 Smart Search: Vector embeddings and semantic search
- 💬 Dual Interfaces: Streamlit (GUI) and Flask (Web API)
- 🌍 Cross-Platform: Windows, macOS, and Linux
- ⚡ Portable: Self-contained with automatic setup
- 🔒 Secure: API keys protected, user data stays local
Windows:
# Download and double-click
launchers\run_windows.batMac/Linux:
# Download and run
./launchers/run_unix.shUniversal (All Platforms):
python documind.py
# or
python launchers/launch.py# Run the portable setup (handles everything)
python setup/portable_setup.py- Download DocuMind
- Run the appropriate launcher for your OS
- Follow the configuration prompts
- Start chatting with your documents!
git clone https://github.com/papai0709/DocuMind.git
cd DocuMind
python setup/portable_setup.py# 1. Create virtual environment
python -m venv .venv
# 2. Activate it
# Windows:
.venv\Scripts\activate
# Mac/Linux:
source .venv/bin/activate
# 3. Install dependencies
pip install -r requirements/requirements-portable.txt
# 4. Configure API keys
python setup/easy_config.py
# 5. Launch
python documind.pyDocuMind includes multiple easy configuration options:
python setup/easy_config.py- Graphical interface for easy setup
- Automatic validation
- Platform-specific guidance
python setup/portable_setup.py- Automated environment setup
- Dependency installation
- Configuration generation
Create a .env file in the project root:
For Azure OpenAI (Recommended):
USE_AZURE_OPENAI=true
AZURE_OPENAI_API_KEY=your_key_here
AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/
AZURE_CHAT_DEPLOYMENT_NAME=gpt-4
AZURE_EMBEDDING_DEPLOYMENT_NAME=text-embedding-ada-002For OpenAI:
USE_AZURE_OPENAI=false
OPENAI_API_KEY=your_openai_key_here- Requirements: Python 3.8+ (download from python.org)
- Launcher:
launchers\run_windows.batorpython documind.py - Features: Colored console output, Windows integration
- Requirements: Python 3.8+ (use Homebrew:
brew install python) - Launcher:
./launchers/run_unix.shorpython documind.py - Features: Native terminal integration
- Requirements: Python 3.8+, pip, venv
- Install:
sudo apt install python3 python3-venv python3-pip(Ubuntu/Debian) - Launcher:
./launchers/run_unix.shorpython documind.py
DocuMind is ready for deployment to Azure Web Apps. You can deploy it using either a Docker container (Recommended) or direct code deployment.
-
Build and push the image:
docker build -t your-registry.azurecr.io/documind:latest . docker push your-registry.azurecr.io/documind:latest -
Create Web App for Containers:
- Choose "Docker Container" as the publish option.
- Select your image.
- Set the
WEBSITES_PORTenvironment variable to8000.
-
Configure Environment Variables:
- Set all necessary environment variables (API keys, etc.) in the Azure Portal > Environment Variables.
- Persistence: To save your vector database across restarts, mount an Azure Storage File Share to
/dataand setCHROMA_DB_PATH=/data/chroma_db.
-
Create Web App (Linux):
- Runtime stack: Python 3.10 or higher.
- Publish: Code.
-
Configuration:
- Azure should automatically detect
requirements.txtin the root. - Set the Startup Command in Configuration > General Settings to:
sh startup.sh
- Azure should automatically detect
-
Environment:
- Add your API keys and other settings in Environment Variables.
DocuMind/
├── 🚀 Launchers
│ ├── documind.py # Main entry point
│ └── launchers/
│ ├── launch.py # Universal Python launcher
│ ├── run_windows.bat # Windows batch file
│ └── run_unix.sh # Mac/Linux shell script
├── 🔧 Setup & Configuration
│ ├── setup/
│ │ ├── portable_setup.py # Automated installer
│ │ └── easy_config.py # GUI/CLI configuration
│ └── config/
│ └── .env.example # Configuration template
├── 📦 Dependencies
│ └── requirements/
│ ├── requirements-portable.txt # Core cross-platform
│ ├── requirements-windows.txt # Windows optimized
│ ├── requirements-unix.txt # Mac/Linux optimized
│ └── requirements.txt # Complete feature set
├── 🧠 Source Code
│ └── src/
│ ├── core/ # Core AI functionality
│ └── web/ # Web interfaces
├── 🧪 Tests & Data
│ ├── tests/ # Test suite
│ └── data/ # Document storage
└── 📚 Documentation
└── docs/ # Detailed guides
- Start DocuMind using your preferred launcher
- Upload documents via the web interface
- Ask questions about your documents
- Get AI responses with source citations
Streamlit (Recommended):
- Rich interactive interface
- Real-time chat experience
- Document management
- URL: http://localhost:8501
Flask (API):
- RESTful API interface
- Programmatic access
- Integration friendly
- URL: http://localhost:5000
# Core Settings
APP_TITLE=DocuMind
APP_ICON=🤖
CHUNK_SIZE=1000
CHUNK_OVERLAP=200
MAX_FILE_SIZE_MB=10
# Performance
ENABLE_CACHING=true
LOG_LEVEL=INFO# Install optional performance packages
pip install watchdog psutil richPython not found:
- Install Python 3.8+ from python.org
- Make sure Python is in your PATH
Import errors:
- Run
python portable_setup.pyto reinstall dependencies - Check virtual environment activation
Configuration issues:
- Run
python easy_config.pyto reconfigure - Verify API keys in
.envfile
Port conflicts:
- Streamlit: Change port with
--server.port 8502 - Flask: Modify
port=5001in flask_app.py
- Check the
docs/folder for detailed guides - Run diagnostic:
python tests/test_setup.py - Open an issue on GitHub
- API Keys: Stored locally in
.env(never committed) - Documents: Processed locally, never sent to external servers
- Data: Vector database stored locally in
data/chroma_db/ - Privacy: No telemetry, no external data sharing
DocuMind is highly customizable:
- Themes: Modify Streamlit themes in
.streamlit/config.toml - Models: Switch between GPT-3.5, GPT-4, or custom models
- UI: Customize web interfaces in
src/web/ - Processing: Adjust chunking and embedding parameters
We welcome contributions! DocuMind is designed to be:
- Portable: Works everywhere Python runs
- Modular: Easy to extend and customize
- Documented: Clear code and comprehensive docs
MIT License - Feel free to use, modify, and distribute.
- Zero Configuration: Works out of the box
- Professional Grade: Enterprise-ready with Azure OpenAI
- Privacy First: Your documents stay on your machine
- Cross-Platform: One codebase, everywhere
- Open Source: Transparent and customizable
Ready to make your documents intelligent? Get started in under 2 minutes!
# Clone, configure, and launch - it's that simple!
git clone https://github.com/papai0709/DocuMind.git
cd DocuMind
python documind.py
```# DocuMind