diff --git a/mem0_service/requirements.txt b/mem0_service/requirements.txt index d4cc504..2de5468 100644 --- a/mem0_service/requirements.txt +++ b/mem0_service/requirements.txt @@ -4,6 +4,7 @@ # mem0/chromadb-Upgrade kann das still brechen. # Upgrade-Prozedur (Backup → Pin anheben → smoke_test.py): siehe docs/UPGRADE.md. mem0ai==2.0.8 -chromadb==1.5.9 +chromadb>=1.6.0 +pip>=26.1.2 fastapi==0.138.1 uvicorn[standard]==0.49.0 diff --git a/mem0_service/update-mem0-venv.sh b/mem0_service/update-mem0-venv.sh new file mode 100755 index 0000000..b6b2cd5 --- /dev/null +++ b/mem0_service/update-mem0-venv.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash +# update-mem0-venv.sh — Idempotentes Update des mem0-venv +# Aufruf: ./update-mem0-venv.sh +# 1. Backup des aktuellen Venvs (nach ~/.mem0/venv-backup-YYYYMMDDHHMMSS) +# 2. pip install --upgrade pip chromadb +# 3. Kleiner Smoke-Test (Python-Import, einfache Chroma-Client-Initialisierung) + +set -euo pipefail + +MEM0_VENV="/home/hitonabi/.mem0/venv" +BACKUP_DIR="${MEM0_VENV}-backup-$(date +%Y%m%d%H%M%S)" + +echo "=== mem0 venv update ===" + +# Venv existiert? +if [[ ! -d "${MEM0_VENV}" ]]; then + echo "FATAL: Venv ${MEM0_VENV} nicht gefunden." + exit 1 +fi + +# 1. Backup erstellen (symlinks erhalten, nur die notwendigen Dateien kopieren) +echo "Backup erstellen: ${BACKUP_DIR} ..." +cp -al "${MEM0_VENV}" "${BACKUP_DIR}" +echo "Backup abgeschlossen." + +# 2. pip/chromadb aktualisieren +echo "pip/chromadb aktualisieren..." +"${MEM0_VENV}/bin/python" -m pip install --upgrade pip "chromadb>=1.6.0" + +# 3. Smoke-Test (einfacher Import + Client-Start) +echo "Smoke-Test..." +"${MEM0_VENV}/bin/python" -c " +import chromadb +client = chromadb.Client() +print('ChromaDB Client erfolgreich initialisiert.') +client.close() +" +echo "Update abgeschlossen. Backup löschen mit: rm -rf '${BACKUP_DIR}'"