mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-07-22 23:31:12 +02:00
- Add three-tier LLM architecture (Mistral NeMo, TildeOpen, Gemini fallback) - Fix context window handling for mistral-nemo (128K tokens) - Add LiteLLM context override to prevent 1M token bug - Remove Google Analytics tracking from frontend - Add migration and installation documentation - Optimize for CPU-only inference on 32GB RAM servers Performance improvements: - 95% reduction in API costs - Response times: 5-25 seconds (down from 30-120s) - Better Latvian language quality with TildeOpen - Eliminated timeout errors Architecture changes: - Primary: Mistral NeMo 12B (France, local via Ollama) - Grammar: TildeOpen 30B (Latvia, local via Ollama) - Fallback: Gemini 2.0 Flash (Google API, emergency only) Technical fixes: - Fixed LiteLLM reporting incorrect 1M token context (actual: 128K) - Created mistral-nemo:128k model with proper num_ctx parameter - Added context window override in backend utils - Comprehensive security patterns in .gitignore Documentation: - MIGRATION_LOCAL_LLM.md: Complete architecture and history - INSTALLATION_LOCAL_LLM.md: Step-by-step deployment guide - PR_DESCRIPTION.md: Detailed PR description - sync-from-production.sh: Secure deployment script Tested on production at https://ai.kapteinis.lv since November 17, 2025. Co-authored-by: Ojārs Kapteiņš <ojars@kapteinis.lv> Co-authored-by: Claude AI Assistant <code@anthropic.com>
27 lines
725 B
Bash
Executable file
27 lines
725 B
Bash
Executable file
#!/bin/bash
|
|
SERVER="root@46.62.230.195"
|
|
REMOTE_DIR="/opt/SurfSense/surfsense_backend"
|
|
LOCAL_DIR="$HOME/Documents/Kods/SurfSense/surfsense_backend"
|
|
|
|
echo "Syncing backend files from production..."
|
|
rsync -avz --progress \
|
|
--exclude='.env' \
|
|
--exclude='*.env.local' \
|
|
--exclude='*.env.production' \
|
|
--exclude='node_modules/' \
|
|
--exclude='__pycache__/' \
|
|
--exclude='*.pyc' \
|
|
--exclude='.pytest_cache/' \
|
|
--exclude='venv/' \
|
|
--exclude='.venv/' \
|
|
--exclude='*.log' \
|
|
--exclude='*.db' \
|
|
--exclude='*.sqlite' \
|
|
--exclude='*.pem' \
|
|
--exclude='*.key' \
|
|
--exclude='*.crt' \
|
|
--exclude='.DS_Store' \
|
|
-e "ssh -i ~/.ssh/id_ed25519_surfsense" \
|
|
"$SERVER:$REMOTE_DIR/" "$LOCAL_DIR/"
|
|
|
|
echo "Sync complete!"
|