Your private AI assistant that knows your emails, projects, writing style, and technical documents. Runs 100% locally on your hardware.
| Feature | Description |
|---|---|
| Personal Knowledge Base | Your documents -- emails, transcripts, blogs, audio recordings, datasheets |
| Your Writing Style | LoRA fine-tuned on your emails - writes like you |
| Streaming Responses | Real-time word-by-word output |
| Hybrid RAG Search | BM25 + semantic + reranking for best results |
| Email Drafting | Generate emails with one-click open in Gmail/Outlook |
| Meeting Summarizer | Transcribe audio/video with Whisper + summarize |
| Document Generator | Create specs, proposals, reports from your knowledge |
| Datasheet Ingestion | Ingest PDFs - reference manuals, app notes |
| Daily Digest | Automated morning summary of your AI activity |
| Web UI | Clean interface with settings panel |
- GPU: NVIDIA RTX 3080+ (16GB+ VRAM recommended)
- RAM: 32GB+
- Storage: 50GB+ for models and knowledge base
- OS: Ubuntu 22.04+ (or similar Linux)
# Clone the repo
git clone https://github.com/kylefoxaustin/personal-ai-framework.git
cd personal-ai-framework
# Run setup (installs dependencies, creates config)
./setup.sh
# Download model (Mixtral 8x7B Q4)
./run.sh download-model
# Start services
./run.sh start
# Open web UI
xdg-open http://localhost:3000personal-ai-framework/
├── docker/ # Docker configurations
├── knowledge/ # Your knowledge base
│ ├── documents/ # General documents
│ ├── emails/ # Exported emails (.eml, .mbox)
│ ├── transcripts/ # Meeting/video transcripts
│ ├── datasheets/ # PDF datasheets & manuals
│ └── writing/ # Your blog posts, articles
├── pipeline/ # Core Python services
│ ├── llm_server.py # FastAPI LLM server
│ ├── rag_service.py # ChromaDB RAG
│ ├── advanced_rag.py # Hybrid search + reranking
│ ├── meeting_summarizer.py
│ ├── doc_generator.py
│ ├── email_service.py
│ ├── daily_digest.py
│ └── settings_manager.py
├── web/ # Web UI
├── training/ # LoRA fine-tuning
└── run.sh # Main CLI
./run.sh start # Start all services
./run.sh stop # Stop all services
./run.sh status # Check service status
./run.sh logs # View logs./run.sh sync # Sync knowledge base
./run.sh ingest-datasheets # Ingest PDF datasheets
./run.sh ingest-emails # Ingest email exports# Email drafting
./run.sh email draft "project status update" -t recipient@email.com
./run.sh email draft "follow up on meeting" --open # Opens in email client
# Document generation
./run.sh generate technical_spec "i.MX display system"
./run.sh generate project_proposal "embedded AI project"
./run.sh generate status_report "Q1 development progress"
# Meeting summarization
./run.sh summarize recording.mp4 -t "Team Meeting" --add-to-kb
# Daily digest
./run.sh digest # Print digest
./run.sh digest -m mailto -t you@email.com # Open in email client
./run.sh digest --schedule 08:00 -t you@email.com # Schedule dailyAccess at http://localhost:3000
- Chat: Ask questions, get answers from your knowledge base
- Email Drafting: Type "Draft an email about..." → Copy/Save/Open buttons
- Streaming: Responses appear word-by-word in real-time
- Settings (⚙️): Configure digest, sync, view email provider status
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Web UI │────▶│ LLM Server │────▶│ Mixtral │
│ :3000 │ │ :8080 │ │ 8x7B Q4 │
└─────────────┘ └──────┬──────┘ └─────────────┘
│
▼
┌─────────────┐
│ ChromaDB │
│ (RAG) │
│ 61K+ docs │
└─────────────┘
Settings are stored in ~/.personal-ai/settings.json and can be configured via:
- Web UI Settings panel (⚙️ button)
- CLI commands
- Direct file editing
Key settings:
- Daily Digest: Enable, time, email address
- Auto-Sync: Enable, interval (1/4/12/24 hours)
- Context Window: 8K/16K/32K tokens
Tested on RTX 5090 (32GB VRAM):
- Inference: ~30 tokens/sec
- Context: 16K tokens default (32K max)
- Knowledge Base: 61,500 documents
- Datasheet Ingestion: 37 PDFs (6,129 chunks) in ~5 min
- v2.0.0 - Advanced Features (streaming, settings UI, daily digest, datasheets)
- v1.0.0 - Initial Release (RAG, email drafting, LoRA training)
Kyle Fox - GitHub
MIT License - Use freely for personal projects.
- Mixtral 8x7B - Base model
- llama.cpp - Efficient inference
- ChromaDB - Vector database
- OpenAI Whisper - Audio transcription
Trust the Awesomeness! 🚀