PostgreSQL avec pgvector est retenu comme backend nominal : pgvector fait partie des backends vectoriels maintenus par l'équipe cœur d'OpenWebUI, tandis que Qdrant y est une intégration non cœur, maintenue par la communauté — ce qui augmente le risque de rupture ou de délai de correction lors d'une montée de version d'OpenWebUI. Qdrant reste une solution vectorielle valide, conservée comme repli.
Autre facteur, le stockage : les données actives de Qdrant n'ont pas été retenues sur le partage ZFS présenté à VM210 (via VirtioFS/FUSE) et devaient rester sur un ext4 local à la VM ; PostgreSQL/pgvector dispose sur VM215 de son propre disque ext4 dédié, mieux isolé pour l'exploitation et la future sauvegarde logique.
↓
[Question] → [Embedding requête] → [Recherche sémantique HNSW] → [LLM local Ollama] → [Réponse citée]
| Composant | Rôle | Version |
|---|---|---|
| Open WebUI | Interface + orchestration RAG native | 0.11.0 |
| PostgreSQL | Backend vectoriel (VM215) | 18.4 |
| pgvector | Extension vecteurs · index HNSW | 0.8.6 |
| bge-m3 | Embeddings multilingues (dim 1024) | via Ollama |
| Ollama | Inférence LLM (VM210 · RTX 5090) | 0.32.6 |
| Qdrant | Base vectorielle de repli | 1.18.3 |
- Open WebUI configuré avec pgvector comme backend vectoriel
- Modèle d'embeddings bge-m3 validé en dimension 1024
- Index HNSW créé sur les vecteurs
- Recherche exacte et citations vérifiées
- Comportement hors-corpus testé pour limiter les réponses inventées
- Persistance validée après recréation de l'interface et redémarrage des deux VM
# Open WebUI — RAG natif sur backend pgvector (VM215) VECTOR_DB=pgvector PGVECTOR_DB_URL=postgresql://<role>:<secret>@<hote-vm215>/rag # Embeddings servis par Ollama sur le nœud GPU (VM210) RAG_EMBEDDING_ENGINE=ollama RAG_EMBEDDING_MODEL=bge-m3 # dimension 1024
-- Index HNSW pour la recherche vectorielle rapide (distance cosinus) CREATE INDEX ON documents USING hnsw (embedding vector_cosine_ops);