Qué son los embeddings en palabras sencillas
Un embedding es una forma de convertir texto, una frase o un documento en un conjunto de números: un vector de longitud fija. Un modelo de embeddings aprende para que frases semejantes en significado queden "cerca" en ese espacio numérico y las distintas, lejos. De ahí salen la búsqueda semántica, RAG, las recomendaciones y la agrupación de documentos. Abajo: qué son los embeddings, en qué se diferencian de los tokens y las respuestas del LLM, y dónde importan de verdad al negocio.
- Vector - lista de cientos o miles de números, una "huella del significado" del texto
- Embedding model - red neuronal aparte que codifica texto en vector; no es un modelo de chat
- Similitud semántica - "envío por mensajería" y "entrega exprés" están más cerca que "envío" y "declaración fiscal"
- Uso principal - búsqueda por significado, RAG, deduplicación, clasificación
- No confundir - el embedding no genera respuesta; solo ayuda a encontrar fragmentos relevantes
- En la práctica - indexar la base de conocimiento una vez y buscar Top-K fragmentos por consulta
Qué es un embedding en dos palabras
Imagine una biblioteca donde los libros no se ordenan por autor sino por tema: textos de logística juntos, contabilidad aparte, marketing en otra sección. Un embedding hace lo mismo con el texto, pero en un espacio multidimensional de números.
Un embedding es la salida de un modelo codificador: entrada "cómo tramitar la devolución de un producto", salida un vector de, por ejemplo, 1 536 números. Cada fragmento de documentación, ticket o párrafo tiene su vector. Cuando llega la pregunta del usuario, se codifica con el mismo modelo y se buscan las coincidencias más cercanas.
| Concepto | Qué es | Ejemplo |
|---|---|---|
| Texto | Palabras originales | "Plazo de entrega 2-3 días" |
| Embedding model | Red codificadora | text-embedding-3-small, bge-m3 |
| Vector | Representación numérica | [0.12, -0.04, 0.88, …] |
| Vector DB | Almacén de vectores + búsqueda rápida | pgvector, Qdrant, Pinecone |
El embedding no "entiende" el texto como una persona ni escribe respuestas. Da coordenadas de significado para que el ordenador compare millones de fragmentos rápido.
Para qué sirven los vectores si ya hay búsqueda normal
La búsqueda por palabras clave busca coincidencias exactas: la consulta "devolución" no encontrará un párrafo que solo diga "refund policy" o "proceso de envío de retorno". La búsqueda semántica con embeddings compara significado, no letras.
Tareas típicas:
- FAQ corporativo y soporte - agente o bot encuentra el reglamento según cómo formula el cliente la pregunta.
- RAG - antes de responder, el LLM recupera chunks relevantes de wiki, PDF, tickets.
- Buscar tickets similares - "ya tuvimos este incidente" sin etiquetar a mano.
- Deduplicación - filtrar artículos, reseñas o fichas casi iguales.
- Clustering - agrupar consultas, reseñas, temas del foro para analítica.
Si todo el texto cabe en la ventana de contexto del modelo y cambia poco, los embeddings no son obligatorios. Cuando el corpus es grande, vivo y cambiante, un índice vectorial casi siempre sale más barato que meter todo en el prompt cada vez.
Cómo el texto se convierte en números
Pipeline simplificado:
Documento → chunking → embedding model → vectores → vector DB
Consulta → mismo embedding model → vector de consulta → búsqueda Top-K → LLM
1. Chunking
PDFs largos o bases de artículos se parten en fragmentos de 256-1 024 tokens con solapamiento para no cortar párrafos a medias. Chunks muy pequeños pierden contexto; muy grandes, precisión.
2. Embedding model
Un modelo especializado procesa cada chunk y devuelve un vector de dimensión fija - 384, 768, 1 536 o 3 072 números según el modelo. En la nube: OpenAI text-embedding-3, Cohere, Voyage. Open source: BGE, E5, multilingual-e5; también en local con Ollama o servidor propio.
3. Indexación y búsqueda
Los vectores van a un vector store - PostgreSQL con pgvector, Qdrant, Weaviate, Chroma. En la consulta se mide la distancia entre el vector de la pregunta y los de la base; lo habitual es similitud coseno. Se devuelven los Top-K fragmentos más cercanos, normalmente de 3 a 10.
La calidad del ~80% depende de "chunking + embedding model", no del LLM de chat más listo. El desglose retrieval + generation está en el artículo de RAG.
Cercanía semántica sin magia
La "cercanía" de vectores no son sinónimos de diccionario. El modelo se entrenó con corpus enormes para que puntos vecinos correspondan a contextos parecidos. Por eso:
- "precio de envío" y "coste del servicio de mensajería" quedan cerca;
- "Python para análisis de datos" está más cerca de "tutorial pandas" que de "serpiente en el zoo";
- en modelos multilingües, una consulta en español puede encontrar un párrafo en inglés con el mismo sentido.
Importante: solo se pueden comparar vectores de la misma embedding model y versión. Mezclar vectores de OpenAI y BGE en un índice no vale - son mapas distintos.
Dónde aparecen los embeddings en productos
| Escenario | Papel de los embeddings |
|---|---|
| Chatbot corporativo | Encontrar artículos relevantes antes del LLM |
| IDE y código | Búsqueda semántica en el repo (Cursor @Codebase, índices Copilot) |
| Marketplace | "Productos similares", búsqueda por descripción sin SKU exacto |
| Moderación | Clustering de spam, detección de reseñas duplicadas |
| CRM | Emparejar deals similares, RAG sobre base de conocimiento para managers |
En todos los casos el patrón es el mismo: retrieval en vectores + razonamiento en LLM. Los embeddings ahorran ventana de contexto y dinero de API: al prompt solo van los chunks encontrados, no toda la base.
Embeddings vs tokens vs fine-tuning
Tres mecanismos que se confunden a menudo:
| Embeddings | Tokens LLM | Fine-tuning | |
|---|---|---|---|
| Tarea | Búsqueda por significado | Generación de texto | Cambiar comportamiento del modelo |
| Salida | Vector numérico | Texto / tokens de respuesta | Nuevos pesos del modelo |
| Actualizar conocimiento | Reindexar documentos | Nuevo prompt / RAG | Reentrenar |
| Coste | Más barato que generar | Pago por input + output | Caro y lento |
Un token es unidad de facturación y troceo para modelos de chat. Un embedding es otro producto API con otro precio por 1M y otro modelo. Compare estrategias en ventana de contexto vs RAG vs fine-tuning.
Cómo elegir embedding model
En la práctica, cuatro parámetros:
- Idiomas - corpus mixtos necesitan modelos multilingües (bge-m3, multilingual-e5, voyage-3).
- Dimensión - más dimensiones suelen ser más precisas pero índice y almacenamiento más pesados.
- Latencia y coste - con millones de documentos, calcule indexación inicial y reindexación en actualizaciones.
- Despliegue - API en nube para empezar rápido; modelos locales para datos privados sin enviar a SaaS.
Para un MVP suele bastar un modelo probado y pgvector en PostgreSQL existente. Varios rerankers e híbrido BM25 + vectors tiene sentido cuando las métricas de búsqueda ya tocan techo.
Errores típicos
- Indexar "como sea" - sin limpiar HTML, sin estrategia de chunking, con duplicados - búsqueda ruidosa.
- Cambiar modelo sin reindexar - vectores viejos y nuevos son incompatibles.
- Esperar razonamiento de los embeddings - un vector no responde; hace falta LLM o plantillas sobre los chunks.
- Ignorar métricas - sin set de prueba "pregunta → documento esperado", los cambios a ojo rara vez aguantan producción.
- Confundir con búsqueda de texto completo - para SKU y códigos exactos, mejor híbrido keywords + embeddings.
Resumen
Un embedding es una "huella numérica del significado" del texto. Sirve donde importa encontrar lo relevante en un corpus grande: RAG, soporte, wikis internas, búsqueda de código. Para un chat corto con un archivo en contexto, el índice vectorial es opcional. Para una base viva, los embeddings son el ladrillo base; el LLM se construye encima, no en su lugar.
Preguntas frecuentes
¿En qué se diferencia un embedding de un token?
Un token es un fragmento de texto para modelos de chat: de él sale la longitud del prompt y el coste de API. Un embedding es un vector para todo un fragmento (frase, párrafo, chunk) que captura significado para búsqueda. Los tokens trocean para generar; los embeddings codifican significado para comparar.
¿Para qué un embedding model aparte si existen ChatGPT y Claude?
Los modelos de chat optimizan generar respuestas. Un embedding model optimiza comprimir significado en vector compacto y búsqueda rápida. Encoders dedicados son más baratos en grandes volúmenes de indexación y no gastan tokens de output caros en "resumir" documentos.
¿Se pueden mezclar vectores de distintos modelos en una base?
No. Cada modelo tiene su espacio de coordenadas y dimensión. Construya el índice con una embedding model; al cambiarla - reindexación completa. Compare solo vectores del mismo encoder en la misma versión.
¿Cuánto cuestan los embeddings por API?
Suelen ser más baratos que generar texto del mismo proveedor: se facturan tokens de input en el endpoint de embedding, sin output. El precio exacto depende del modelo y volumen; para presupuesto mensual multiplique tokens del corpus por tarifa por 1M y reserve reindexación. Más sobre tokens en coste de tokens.
¿Un chatbot sencillo en la web necesita embeddings?
No siempre. Si responde desde un FAQ fijo de pocas páginas o carga un PDF en la ventana de contexto una vez, basta el prompt. Los embeddings hacen falta cuando hay muchos documentos, cambian a menudo y importa buscar por cómo formula el usuario - el caso típico de RAG para soporte y asistentes internos.