feat: CLIP auto-GPU si >1.5 Go VRAM libre + index FAISS IVF 11.5x plus rapide
Some checks failed
security-audit / Bandit (scan statique) (push) Successful in 12s
security-audit / pip-audit (CVE dépendances) (push) Successful in 10s
security-audit / Scan secrets (grep) (push) Successful in 7s
tests / Lint (ruff + black) (push) Successful in 14s
tests / Tests unitaires (sans GPU) (push) Failing after 14s
tests / Tests sécurité (critique) (push) Has been skipped

CLIP embedder : auto-détection GPU avec vérification VRAM disponible.
Si >1.5 Go libre → CUDA, sinon → CPU. Évite les OOM quand Ollama
utilise déjà la VRAM.

FAISS : migration Flat → IVF (116 clusters, nprobe=8).
Benchmark : 0.46ms → 0.04ms par recherche (11.5x).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dom
2026-04-20 21:27:01 +02:00
parent bc21b27da7
commit c57b40ae1d

View File

@@ -58,9 +58,19 @@ class CLIPEmbedder(EmbedderBase):
"Install it with: pip install open-clip-torch" "Install it with: pip install open-clip-torch"
) )
# Default to CPU to save GPU for vision models (Qwen3-VL, etc.)
if device is None: if device is None:
device = "cpu" try:
import torch
if torch.cuda.is_available():
free_vram = torch.cuda.mem_get_info()[0] / 1024**3
if free_vram > 1.5:
device = "cuda"
else:
device = "cpu"
else:
device = "cpu"
except Exception:
device = "cpu"
self.model_name = model_name self.model_name = model_name
self.pretrained = pretrained self.pretrained = pretrained