¿Pueden coexistir varios modelos de embeddings en un único sistema de búsqueda privada?

Eva Wong es la Redactora técnica y manitas residente en ZimaSpace. Una geek de toda la vida con pasión por los homelabs y el software de código abierto, se especializa en traducir conceptos técnicos complejos en guías accesibles y prácticas. Eva cree que el autoalojamiento debe ser divertido, no intimidante. A través de sus tutoriales, empodera a la comunidad para desmitificar las configuraciones de hardware, desde construir su primer NAS hasta dominar los contenedores Docker.

Sí. Un sistema de búsqueda privado puede almacenar y consultar simultáneamente incrustaciones de varios modelos. El enfoque seguro consiste en tratar cada modelo de incrustación como su propio espacio vectorial, con dimensiones, métrica de distancia, versión y configuración del índice explícitas. No mezcles vectores incompatibles en una única columna anónima suponiendo que son comparables.

Varios modelos son útiles para migraciones, búsquedas multilingües, recuperación combinada de imágenes y texto, incrustaciones específicas de un dominio o pruebas A/B. La complejidad aparece cuando necesitas combinar resultados de esos espacios.

¿Por qué conservarías más de un modelo de incrustación?

Motivo Ejemplo
Migración de modelos El codificador antiguo sigue activo mientras se generan nuevos vectores
Búsqueda multilingüe Modelo general en inglés + modelo multilingüe
Diferentes modalidades Incrustaciones de texto + incrustaciones de imagen
Especialización por dominio Documentos generales + incrustaciones de código
Pruebas de calidad Recuperación A/B antes de sustituir el modelo de producción
Interacción tardía Recuperador denso + reclasificación al estilo ColBERT

Una base de conocimientos privada evoluciona. Vincular permanentemente cada documento al primer modelo de incrustación que elegiste hace que las actualizaciones sean innecesariamente problemáticas.

Los distintos modelos producen espacios vectoriales diferentes

Dos modelos pueden generar vectores de 768 dimensiones y aun así ser incompatibles. Las coordenadas solo tienen significado en relación con el modelo que las produjo.

Documento A
  |
  +-- modelo v1 -> vector_v1 [768]
  |
  +-- modelo v2 -> vector_v2 [1024]
  |
  +-- modelo de imagen -> vector_image [512]

Una consulta generada con el modelo v2 debe buscar en el espacio v2. Compararla directamente con vectores del modelo v1 no tiene sentido, aunque una API acepte las dimensiones.

La documentación actual de vectores con nombre de Qdrant admite explícitamente varios vectores de distintos tamaños y tipos en el mismo punto, cada uno en un espacio de vectores con nombre independiente.

Usa un registro de modelos, no solo un nombre de vector

Registra suficientes metadatos para reproducir cada incrustación:

espacio_de_incrustación: text_v2
id_del_modelo:        ejemplo/nombre-del-modelo
revisión_del_modelo:  sha-o-versión
dimensión_del_vector:      1024
métrica:          coseno
normalizado:      verdadero
política_de_fragmentación: semántica-v3
creado_el:      2026-09-03

El fragmentado también debe formar parte del registro. Si cambias tanto el modelo de embeddings como la forma de dividir los documentos, la recuperación cambia por dos motivos. Mantener explícita la versión de la canalización permite comparar y revertir cambios.

-15% OFF

¿Una colección con vectores con nombre o colecciones separadas?

Ambos diseños pueden ser correctos.

Diseño Mejor cuando Compensación
Vectores con nombre en el mismo objeto Mismos documentos/carga útil en todos los modelos Mayor tamaño del objeto/índice
Colecciones separadas Esquemas, ciclos de vida, escalabilidad o permisos diferentes Más trabajo de sincronización
Una tabla de Postgres + model_id Pila centrada en SQL Los índices deben estar delimitados correctamente

La documentación de colecciones de Weaviate también admite varios espacios vectoriales con nombre por objeto, cada uno con su propia configuración de vectorizador e índice.

Si los permisos difieren —por ejemplo, entre documentos familiares y documentos de trabajo—, las colecciones separadas pueden ser más claras que incluir todas las representaciones en un único objeto.

¿Puede pgvector almacenar diferentes dimensionalidades?

Sí. La documentación de pgvector muestra una columna genérica vector con un model_id y después utiliza índices de expresión y parciales para filas de una dimensionalidad específica.

El principio es el mismo: conserva la identidad del modelo en el modelo de datos y crea el índice ANN únicamente sobre filas compatibles.

No compares puntuaciones de similitud sin procesar entre modelos

Este es el fallo más sutil. Una similitud de coseno de 0,78 del Modelo A no implica necesariamente la misma calidad que un 0,78 del Modelo B. Las distribuciones de puntuaciones dependen del entrenamiento del modelo, la normalización, la métrica, el dominio y el comportamiento del índice.

Si quieres una única lista de resultados a partir de dos modelos de embeddings, primero realiza la recuperación por separado:

Consulta
  |
  +-- Modelo A -> 20 resultados principales + rangos
  |
  +-- Modelo B -> 20 resultados principales + rangos
                      |
                      v
               fusión / reclasificador
                      |
                      v
                  10 resultados principales

Los métodos de combinación más seguros incluyen la fusión de rangos, la normalización de puntuaciones específica del modelo calibrada con tus datos o un codificador cruzado/reclasificador que evalúe el texto candidato después de la recuperación.

La documentación de búsqueda multidirigida de Weaviate presenta estrategias de combinación, incluidas las combinaciones normalizadas y ponderadas, lo que ilustra por qué la fusión entre espacios necesita una estrategia explícita en lugar de una ordenación ingenua por puntuaciones sin procesar.

¿Cómo migrar a un nuevo modelo de embeddings sin tiempo de inactividad?

No elimines primero los embeddings antiguos. Usa una migración en paralelo:

  1. registra el nuevo modelo y el espacio vectorial;
  2. genera nuevos embeddings para los documentos recién incorporados;
  3. completa los documentos antiguos por lotes;
  4. ejecuta búsquedas en la sombra en ambos espacios;
  5. compara la recuperación y el éxito de las tareas con preguntas reales;
  6. cambia el espacio de consulta predeterminado;
  7. conserva los vectores antiguos durante un periodo de reversión;
  8. elimínalos solo cuando tengas un alto nivel de confianza.

Weaviate señala que añadir un nuevo vector con nombre no vuelve a vectorizar automáticamente los objetos existentes. Conviene recordar este comportamiento, porque «el esquema admite un nuevo modelo» y «todos los datos antiguos tienen vectores nuevos» son hitos distintos.

Varios embeddings aumentan el almacenamiento más rápido de lo que muchos usuarios esperan

Cada representación vectorial adicional puede añadir otra matriz densa y otro índice ANN. Por tanto, un segundo modelo de embeddings puede multiplicar aproximadamente la parte de vectores e índices de la base de datos, aunque los documentos originales solo se almacenen una vez.

Estimación:

bytes de vectores ~=
  fragmentos de documentos
  x dimensiones
  x bytes por elemento
  x número de espacios de embeddings

+ sobrecarga del índice ANN
+ índices de metadatos / payload

Los índices cuantizados o de media precisión pueden reducir el tamaño, pero prueba la calidad de recuperación antes de aplicar la compresión a todos los modelos.

Esto nos lleva de nuevo a la cuestión de la arquitectura de las bases de conocimiento locales: los embeddings son datos derivados reemplazables, mientras que los documentos fuente y los metadatos son activos duraderos que permiten reconstruirlos.

Usa modelos diferentes para distintas rutas de consulta

No tienes que buscar en todos los espacios vectoriales para cada pregunta. Dirige la búsqueda según la necesidad:

Consulta Espacio de embeddings
Manuales domésticos en inglés general_text_v2
Notas en chino e inglés multilingual_v1
Pregunta sobre código fuente code_v1
Encontrar una foto similar image_v1
Búsqueda desconocida o amplia dos espacios + fusión de rangos

Un pequeño clasificador de consultas puede seleccionar el espacio adecuado, mientras que las búsquedas ambiguas pueden distribuirse entre dos representaciones y fusionar los resultados.

Los permisos deben aplicarse antes de la fusión

No recuperes candidatos no autorizados de todos los espacios vectoriales esperando que el reordenador final los oculte. Aplica los permisos de usuario/documento en cada etapa de recuperación para impedir que los fragmentos sensibles entren en el conjunto de candidatos, los registros o el aviso del reordenador.

En la búsqueda privada en NAS, la misma regla de control de acceso debe mantenerse durante las migraciones de modelos. Un índice nuevo debe heredar los metadatos de permisos del documento en lugar de convertirse en una copia temporal sin protección.

La guía del asistente de IA privado proporciona el contexto más amplio: la búsqueda vectorial solo es útil cuando respeta los mismos límites de datos privados que el almacenamiento de archivos.

Lista de comprobación de control de calidad para múltiples embeddings

  • Asigna a cada espacio de embeddings un ID único de modelo/versión.
  • Registra las dimensiones, la normalización y la métrica de distancia.
  • Versiona la segmentación y el preprocesamiento.
  • Nunca consultes el vector de un modelo en el índice de otro modelo.
  • No compares directamente las puntuaciones sin procesar entre espacios sin calibrarlas.
  • Aplica los permisos dentro de cada ruta de recuperación.
  • Genera los nuevos vectores antes de cambiar el valor predeterminado.
  • Evalúa el sistema con preguntas reales y documentos relevantes conocidos.
  • Conserva el índice anterior durante un periodo de reversión.
  • Incluye los vectores e índices adicionales en la planificación de capacidad de disco y RAM.

Preguntas frecuentes

¿Pueden dos modelos de embeddings usar distintas dimensiones en una misma base de datos?

Sí, si la base de datos admite espacios vectoriales, colecciones o índices independientes con nombre para cada dimensión compatible. Qdrant, Weaviate y pgvector ofrecen patrones para hacerlo.

¿Puedo cambiar de modelo de embeddings sin volver a generar embeddings para los documentos antiguos?

No, si quieres que los documentos antiguos se puedan buscar en el espacio vectorial del nuevo modelo. Un vector de consulta nuevo no es compatible con los embeddings producidos por otro modelo.

¿Debo conservar los embeddings antiguos para siempre?

No. Consérvalos durante la evaluación y la reversión. Una vez validado el nuevo modelo y completada la migración, eliminar los vectores obsoletos puede recuperar una cantidad considerable de almacenamiento y memoria del índice.

Veredicto final

Varios modelos de embeddings pueden coexistir de forma ordenada en un sistema de búsqueda privado cuando sus espacios vectoriales se mantienen explícitos. Almacena los metadatos del modelo y del flujo de procesamiento, consulta cada espacio con el codificador correspondiente, combina los resultados de forma deliberada y migra rellenando los vectores en paralelo. El diseño peligroso no es «más de un modelo», sino perder de vista qué modelo produjo cada vector y fingir que todas las puntuaciones de similitud significan lo mismo.

Centro de Tecnología e IA

Más para leer

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.