RAG with Postgres and pgvector in production: from PoC to SLO
Embeddings, HNSW indexing, reranking, evaluation, context window, latency under load. Full stack with code and measurable SLOs.
Tag
Embeddings, HNSW indexing, reranking, evaluation, context window, latency under load. Full stack with code and measurable SLOs.
Tres años después del boom inicial, el RAG en producción ha convergido en patrones híbridos que combinan búsqueda densa, léxica y reranking. Estos son los que sobreviven al paso del tiempo.
Redis 8.2 incorpora búsqueda vectorial como tipo de dato nativo. La pregunta no es si funciona, sino si sustituye a un motor dedicado como Qdrant, Weaviate o pgvector en cargas reales con millones de vectores y latencias exigentes.
El RAG de 2023 era búsqueda vectorial con un LLM detrás. El de 2025 es un sistema híbrido que combina vectores, búsqueda léxica y grafos de conocimiento. Qué ha cambiado, dónde funciona cada pieza y qué decisiones marcan la diferencia entre un RAG útil y uno decepcionante.
Durante una década los grafos de conocimiento fueron una idea académica con pocos casos vivos. Los LLM han cambiado esa ecuación: ahora sirven para anclar respuestas, auditar razonamiento y sostener agentes sin alucinar.
Un sistema RAG sin evaluación continua se degrada en silencio. Los índices cambian, los modelos se actualizan, los usuarios preguntan cosas nuevas. Este es un repaso práctico de qué métricas vigilar y cómo montar el cuadro de mando que avisa antes del incidente.
Desde que Microsoft abrió GraphRAG, el patrón de usar grafos sobre tus propios datos ha pasado de experimento académico a técnica con aplicaciones prácticas. Reflexión sobre cuándo compensa, cómo se monta y qué errores se repiten.
GraphRAG lleva un año en uso empresarial real. Balance de qué tipos de preguntas resuelve mejor que el RAG clásico, qué cuesta operarlo y cuándo la complejidad extra compensa.
Medir la calidad de un sistema RAG es más sutil de lo que parece. Métricas, conjuntos dorados y los errores más comunes al evaluar.
El vector puro y la palabra clave pura dejan huecos distintos. La búsqueda híbrida los cubre fusionando BM25 y embeddings con RRF.
Tras dos años de RAG en producción, patrones claros emergen: chunking inteligente, hybrid search, re-ranking, evaluación continua. Qué evitar.
La Assistants API ofrece threads persistentes, tool calling y file search gestionados por OpenAI. Analizamos cuándo compensa frente a Chat Completions más lógica propia.
Embeddings retrieve fast but rank poorly. A reranker over the top-100 lifts precision 15–30 %. When it pays off and when it does not.
Nomic liberó un modelo de embeddings con pesos, datos y código abiertos que rivaliza con text-embedding-3-small de OpenAI. Por qué importa y dónde encaja.
Gemini 1.5 Pro demostró que el contexto de un millón de tokens es real. Qué cambia en RAG y arquitecturas cuando el modelo puede procesar un libro entero.
OpenAI liberó text-embedding-3 con calidad superior y dimensiones variables. Cómo aprovechar lo nuevo sin rehacer toda la pila RAG ni presupuestar mal el reindexado.
pgvector maduró en 2023-2024 con HNSW y construcción paralela. Cuándo PostgreSQL basta para RAG, cómo indexar bien y dónde empieza a sufrir.
Cohere Embed v3 añadió señales de calidad de documento y mantuvo su foco multilingüe. Cómo compara con OpenAI y cuándo encaja mejor en un pipeline RAG.
Las bases vectoriales han pasado de ser experimentales a base de productos LLM. Comparativa pragmática entre las tres opciones más usadas en 2023.
pgvector convierte PostgreSQL en una base vectorial competente. Por qué la búsqueda semántica necesita índices especializados y cuándo basta con extender Postgres.
LangChain unifica la construcción de aplicaciones con LLM: prompts, retrievers, agentes y memoria. Cuándo ayuda y cuándo añade complejidad innecesaria.
Chroma es la opción más simple para empezar con embeddings y búsqueda semántica. Cuándo brilla, cuándo se queda corta y cómo desplegarla.
Fine-tuning sigue siendo caro y operativamente complejo. Guía para decidir entre RAG, prompt engineering y entrenamiento propio.