# Qué son los embeddings y para qué sirven en una tienda

> Qué son los embeddings, cómo miden el parecido entre textos con vectores, qué usan OpenAI y Gemini y qué dicen y qué no de tus fichas de producto.

URL: https://clione.ai/es/glosario/embeddings/
Lang: es

Un comprador escribe «hervidor que no sepa a plástico» y el sistema le devuelve tu hervidor con interior de acero inoxidable, aunque tu ficha no contenga ni «sabor» ni «plástico». Eso es lo que hacen posible los embeddings: **encontrar contenidos por lo que significan y no por las palabras que comparten**. Es una pieza técnica que no vas a configurar en tu tienda, pero conviene entender qué mide, porque se usa cada vez más para decidir qué ficha encaja con qué pregunta, y porque mide menos de lo que parece.

## Cómo funciona

OpenAI lo define en su documentación con una frase: un embedding es **un vector, una lista de números decimales, y la distancia entre dos vectores mide su relación**. Distancias pequeñas indican mucha relación; distancias grandes, poca. Se usan para buscar, agrupar, recomendar, clasificar o detectar lo que no encaja.[^openai-embeddings]

El curso de aprendizaje automático de Google lo explica con comida. Si colocas platos en una línea según lo mucho que se parecen a un sándwich, el perrito y el shawarma quedan cerca; si añades una segunda dimensión, «lo mucho que es un postre», el strudel de manzana se separa de los dos. **Cada dimensión añadida recoge un matiz más**, y la distancia entre dos puntos se lee como su parecido relativo dentro de esa representación.[^mlcc-embedding-space] La diferencia con la vida real es de escala y de claridad: los espacios reales tienen muchas más dimensiones (en los de palabras, a menudo 256, 512 o 1024) y **sus dimensiones casi nunca son tan comprensibles** como «postre» o «líquido». Además, cada embedding depende de la tarea para la que se creó.[^mlcc-embedding-space]

Los modelos actuales trabajan con más dimensiones todavía. Los de OpenAI devuelven por defecto vectores de 1536 números (`text-embedding-3-small`) o de 3072 (`text-embedding-3-large`).[^openai-embeddings] Los de [Gemini](/es/glosario/gemini/) devuelven 3072 por defecto, y Google recomienda 768, 1536 o 3072. Su modelo más reciente, `gemini-embedding-2`, coloca texto, imágenes, vídeo, audio y documentos en un mismo espacio, en más de cien idiomas.[^gemini-embeddings]

Para comparar dos vectores se usa casi siempre la similitud del coseno. La documentación de Gemini explica por qué: **mide la dirección y no el tamaño**, que refleja mejor la cercanía entre conceptos, y va de -1 (opuestos) a 1 (máximo parecido).[^gemini-embeddings] OpenAI también la recomienda.[^openai-embeddings]

Hay un matiz que importa en una tienda con vocabulario ambiguo. Los embeddings estáticos, como los del clásico word2vec, dan un solo punto a cada palabra con todos sus significados, y eso es una limitación en algunos casos.[^mlcc-embedding-space] Piensa en «batería»: de cocina, de móvil o de música. Los modelos de embeddings de texto actuales calculan el vector del texto entero, que es lo que miden cuando comparan una pregunta con una ficha.[^openai-embeddings]

La guía de Google sobre sus sistemas de clasificación no detalla qué técnica usa cada uno, pero sí describe dos que trabajan con conceptos y no solo con palabras: RankBrain, que le ayuda a entender cómo se relacionan las palabras con los conceptos y a devolver contenido relevante aunque no contenga todas las palabras de la búsqueda, y el _neural matching_, que entiende representaciones de conceptos en consultas y páginas y las empareja.[^google-ranking-systems] Y Google cita la [RAG (generación aumentada por recuperación)](/es/glosario/rag/), la técnica con la que un asistente recupera documentos antes de responder, como uno de los usos habituales de los embeddings.[^gemini-embeddings]

## En una tienda

Un **ejemplo ficticio**, con un espacio de juguete de tres dimensiones inventadas: cuánto tiene que ver un texto con hervir agua, con el metal y con el plástico. Las coordenadas no salen de ningún modelo; están puestas a mano para ver la cuenta.

| Texto                                                          | Hervir agua | Metal | Plástico |
| -------------------------------------------------------------- | ----------- | ----- | -------- |
| Búsqueda: «hervidor de acero»                                  | 0,8         | 0,6   | 0,0      |
| Ficha A: «Hervidor eléctrico con interior de acero inoxidable» | 0,9         | 0,7   | 0,1      |
| Ficha B: «Sartén de acero inoxidable»                          | 0,1         | 0,9   | 0,0      |
| Ficha C: «Hervidor eléctrico de plástico sin BPA»              | 0,9         | 0,0   | 0,8      |

La similitud del coseno de la búsqueda con cada ficha, con la cuenta de la ficha A desarrollada:

```text
A: (0,8 × 0,9) + (0,6 × 0,7) + (0,0 × 0,1) = 1,14
   longitud de la búsqueda = 1,000   longitud de A = 1,145
   similitud = 1,14 / (1,000 × 1,145) = 0,996

B: similitud = 0,685
C: similitud = 0,598
```

La ficha A gana, y tiene sentido. Ahora imagina que alguien copia por error la descripción de A en la ficha C, que es de plástico: **la ficha C tendría exactamente el mismo vector que A y quedaría igual de cerca de la búsqueda**. El embedding se calcula a partir del texto, no del producto, así que no sabe si lo que el texto dice es cierto. Por eso un dato bien escrito en la ficha importa: es lo único que el vector puede representar. Clione, por ejemplo, calcula para cada producto, categoría, colección y página de contenido un vector de 1536 dimensiones para la [búsqueda semántica](/es/glosario/busqueda-semantica/) dentro del catálogo.


Que una similitud alta significa que el sistema «entiende» el producto o que la ficha responde bien a la pregunta. El curso de Google lo dice con cuidado: la distancia se interpreta como parecido relativo dentro de la representación del modelo, y sus dimensiones casi nunca se pueden leer.[^mlcc-embedding-space] OpenAI habla de relación entre textos, no de verdad.[^openai-embeddings] Un texto falso que se parece a la pregunta queda tan cerca como uno verdadero.


## Cómo comprobarlo

Para quien quiera verlo con sus fichas, con unas líneas de código o un cuaderno de Python:

1. **Escribe tres búsquedas reales de tus clientes**, sacadas del buscador de tu tienda o de [Search Console](/es/glosario/search-console/), y copia las descripciones de los productos que deberían salir.
2. **Calcula los embeddings con una API**: las documentaciones de OpenAI y de Gemini traen el ejemplo de llamada, con el nombre del modelo y el texto como entrada.[^openai-embeddings][^gemini-embeddings]
3. **Compara cada búsqueda con cada descripción** con la similitud del coseno, que va de -1 a 1.[^gemini-embeddings] Con los modelos de OpenAI, que devuelven vectores normalizados, basta el producto escalar.[^openai-embeddings]
4. **Compara siempre dentro del mismo modelo y la misma tarea**: los embeddings dependen de la tarea para la que se crearon.[^mlcc-embedding-space]
5. **Revisa a mano los primeros resultados** contra los datos reales de cada producto. El número dice qué texto se parece más, no cuál es cierto.

## Concepto cercano: búsqueda semántica

La [búsqueda semántica](/es/glosario/busqueda-semantica/) es el uso; los embeddings, la representación que la hace posible en la mayoría de sistemas actuales. Google presenta sus embeddings justo para eso: buscar, clasificar y agrupar con resultados más precisos y más atentos al contexto que los de las búsquedas por palabras clave.[^gemini-embeddings] La [búsqueda vectorial](/es/glosario/busqueda-vectorial/) es la parte mecánica: guardar millones de vectores y encontrar los más cercanos a uno dado con rapidez. **Un embedding sin búsqueda no encuentra nada, y una búsqueda semántica sin embeddings necesita otra forma de representar el significado.**

Para seguir, la entrada de [búsqueda con IA](/es/glosario/busqueda-con-ia/) cuenta cómo un asistente recupera páginas antes de responder, y la [ruta de lectura](/es/aprender/busqueda-con-ia/) ordena el resto de términos.
