Esto permite resolver búsquedas semánticas y casos de RAG con menos piezas operativas, manteniendo texto, metadatos y vectores dentro de la misma base.

Cuándo conviene aplicarlo

pgvector puede ser útil en escenarios como:

  • RAG interno.
  • Buscadores semánticos.
  • Recomendaciones simples.
  • Prototipos con datos relacionales.

Requisitos previos

Antes de empezar, conviene contar con:

  • PostgreSQL compatible.
  • Extensión pgvector instalada.
  • Embeddings generados por la aplicación.
  • Backups antes de migrar.

Arquitectura de trabajo

El flujo recomendado conecta cinco etapas:

  1. Documento.
  2. Embedding.
  3. PostgreSQL.
  4. Índice vectorial.
  5. Consulta similar.

La idea es validar cada etapa antes de pasar a la siguiente, conservar un punto de retorno y evitar cambios invisibles en producción.

Paso 1: Instalar la extensión

La extensión habilita el tipo vector dentro de la base.

sudo apt install postgresql-18-pgvector
psql appdb -c 'CREATE EXTENSION IF NOT EXISTS vector;'

Paso 2: Crear la tabla de documentos

La tabla guarda texto, metadatos y embedding en la misma transacción.

CREATE TABLE documentos (
  id bigserial PRIMARY KEY,
  titulo text NOT NULL,
  contenido text NOT NULL,
  embedding vector(768)
);

Paso 3: Insertar embeddings

La aplicación calcula el vector y lo envía como parámetro SQL.

INSERT INTO documentos (titulo, contenido, embedding)
VALUES ('runbook ssh', 'pasos de recuperacion...', '[0.01,0.02,...]');

Paso 4: Crear un índice aproximado

El índice mejora las consultas de similitud cuando crece la cantidad de documentos.

CREATE INDEX documentos_embedding_hnsw
ON documentos USING hnsw (embedding vector_cosine_ops);

Paso 5: Consultar documentos similares

La consulta ordena por distancia para recuperar los documentos más cercanos al embedding de la pregunta.

SELECT titulo, contenido
FROM documentos
ORDER BY embedding <=> '[0.03,0.01,...]'
LIMIT 5;

Pruebas de funcionamiento

Antes de mover el cambio a producción, ejecuta las validaciones del último paso y revisa:

  • Logs.
  • Salida del comando.
  • Estado del servicio.

Si el cambio afecta datos, restaura o prueba en un entorno aislado antes de operar sobre información real.

Advertencias de seguridad

Ten en cuenta estos puntos antes de usar embeddings en producción:

  • No mezcles embeddings de modelos con dimensiones diferentes.
  • Respeta los permisos de los documentos al recuperar contexto.
  • Evalúa la privacidad antes de guardar texto sensible.

Problemas frecuentes

Error de dimensión

La columna vector(n) debe coincidir con la dimensión del modelo de embeddings.

Consulta lenta

Crea el índice y ejecuta ANALYZE después de cargar los datos.

Buenas prácticas para producción

Para operar con más control:

  • Versiona el modelo de embedding.
  • Mide calidad con preguntas reales.
  • Combina búsqueda semántica y filtros SQL.
  • Realiza backups antes de reindexar.

Cloud Serversby Donweb

Todo el poder de la nube a tus proyectos y aplicaciones.
Alojamiento ultra rápido, escalable y con alta disponibilidad.

  • Performance que te sorprenderá
  • Rápida escalabilidad y sin limitaciones
  • Arquitectura de alta disponibilidad
  • Soporte experto y ejecutivos de cuenta
  • Pagos en tu moneda y facturación local

Descubre la mejor solución de Cloud Hosting