PostgreSQL con pgvector se adopta como backend nominal: pgvector es uno de los backends vectoriales mantenidos por el equipo central de OpenWebUI, mientras que Qdrant es allí una integración no central, mantenida por la comunidad — lo que aumenta el riesgo de ruptura o retraso en las correcciones ante una actualización de versión de OpenWebUI. Qdrant sigue siendo una solución vectorial válida, conservada como respaldo.
Otro factor es el almacenamiento: los datos activos de Qdrant no pudieron mantenerse en el recurso compartido ZFS presentado a VM210 (vía VirtioFS/FUSE) y debieron permanecer en un ext4 local a la VM; PostgreSQL/pgvector dispone en VM215 de su propio disco ext4 dedicado, mejor aislado para la operación y la futura copia de seguridad lógica.
↓
[Pregunta] → [Embedding de la consulta] → [Búsqueda semántica HNSW] → [LLM local Ollama] → [Respuesta citada]
| Componente | Función | Versión |
|---|---|---|
| Open WebUI | Interfaz + orquestación RAG nativa | 0.11.0 |
| PostgreSQL | Backend vectorial (VM215) | 18.4 |
| pgvector | Extensión de vectores · índice HNSW | 0.8.6 |
| bge-m3 | Embeddings multilingües (dim 1024) | vía Ollama |
| Ollama | Inferencia LLM (VM210 · RTX 5090) | 0.32.6 |
| Qdrant | Base de datos vectorial de respaldo | 1.18.3 |
- Open WebUI configurado con pgvector como backend vectorial
- Modelo de embeddings bge-m3 validado en dimensión 1024
- Índice HNSW creado sobre los vectores
- Búsqueda exacta y citas verificadas
- Comportamiento fuera de corpus probado para limitar respuestas inventadas
- Persistencia validada tras recrear la interfaz y reiniciar ambas 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);