Capítulo 9: Embeddings — Cuando el Texto se Convierte en Números
Hasta ahora hemos generado texto, objetos estructurados e imágenes. Pero hay una capacidad fundamental que hace posible la búsqueda semántica, los sistemas de recomendación y RAG: los embeddings.
Un embedding convierte texto en un vector de números. Textos con significado similar producen vectores cercanos en el espacio. Esto permite buscar por significado, no solo por palabras exactas.
Código Primero
Un texto se convierte en 1,536 números que representan su significado.
¿Por Qué 1,536 Números?
Imagina describir una película con 3 números: qué tan de acción (0-1), romántica (0-1), comedia (0-1).
"Die Hard" sería [0.9, 0.1, 0.2]. "Titanic" sería [0.3, 0.9, 0.1].
Los embeddings hacen lo mismo, pero con 1,536 dimensiones que capturan matices semánticos que ni siquiera podemos nombrar. El modelo aprende estas dimensiones durante su entrenamiento.
Similitud de Vectores
Dos textos similares producen vectores cercanos:
cosineSimilarity mide qué tan alineados están dos vectores:
- 1.0 — Idénticos en significado
- 0.0 — Sin relación semántica
- -1.0 — Significados opuestos
Modelos de Embedding
| Modelo | Dimensiones | Costo por 1M tokens | Uso |
|---|---|---|---|
text-embedding-3-small | 1536 | ~$0.02 USD | Balance velocidad/precisión |
text-embedding-3-large | 3072 | ~$0.13 USD | Máxima precisión |
Reducir Dimensiones
OpenAI permite truncar dimensiones manteniendo utilidad (Matryoshka representation learning).
embedMany: Procesamiento en Lote
embedMany es más eficiente porque agrupa las solicitudes en una sola llamada.
El Flujo: Indexación y Búsqueda
Fase 1: Indexación (se hace una vez)
Fase 2: Búsqueda (cada consulta)
Chunking: Dividiendo Documentos
Un embedding representa un texto como un solo vector. Documentos largos pierden detalle. La solución: chunking.
¿Por qué overlap?
Sin overlap podrías cortar una oración a la mitad. Con overlap, la información del borde aparece en ambos chunks.
Sistema Completo de Búsqueda
Uso
De Búsqueda a RAG
Almacenamiento para Producción
El ejemplo anterior mantiene todo en memoria. Para producción con datos grandes:
MongoDB Atlas Vector Search
PostgreSQL con pgvector
Bases de Datos Vectoriales
| Base | Característica |
|---|---|
| Pinecone | Serverless, escala automática |
| Weaviate | Open source, búsqueda híbrida |
| Qdrant | Open source, alto rendimiento |
Costos y Optimización
Costos (enero 2026)
Los embeddings son extremadamente económicos.
Estrategias
- Indexar una vez — Los embeddings de documentos no cambian
- Reducir dimensiones — 512 dims suficiente para muchos casos
- Cachear consultas — Misma pregunta = mismo embedding
Otros Proveedores
Resumen
| Concepto | Qué aprendiste |
|---|---|
embed() | Convierte texto en vector numérico |
embedMany() | Procesa múltiples textos en lote |
cosineSimilarity() | Mide similitud entre vectores (0 a 1) |
| Chunking | Dividir documentos en fragmentos |
| Overlap | Solapamiento para no perder contexto |
| Top-K | Seleccionar los K más relevantes |
El flujo completo
¿Cuándo usar Embeddings?
| Usar Embeddings | NO usar Embeddings |
|---|---|
| Búsqueda semántica | Búsqueda por palabras exactas |
| RAG / Chat con docs | Consultas SQL estructuradas |
| Recomendaciones | Filtros simples (precio, categoría) |
En el próximo capítulo exploraremos RAG en Profundidad: estrategias avanzadas de chunking, re-ranking, y cómo manejar documentos de diferentes formatos.
¿Ya compraste el libro?
Si compraste el libro y no encuentras tu email de descarga, ingresa tu email y te enviamos un nuevo enlace.
