Inicio

Embeddings — Búsqueda Semántica

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

ModeloDimensionesCosto por 1M tokensUso
text-embedding-3-small1536~$0.02 USDBalance velocidad/precisión
text-embedding-3-large3072~$0.13 USDMá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

BaseCaracterística
PineconeServerless, escala automática
WeaviateOpen source, búsqueda híbrida
QdrantOpen source, alto rendimiento

Costos y Optimización

Costos (enero 2026)

Los embeddings son extremadamente económicos.

Estrategias

  1. Indexar una vez — Los embeddings de documentos no cambian
  2. Reducir dimensiones — 512 dims suficiente para muchos casos
  3. Cachear consultas — Misma pregunta = mismo embedding

Otros Proveedores


Resumen

ConceptoQué aprendiste
embed()Convierte texto en vector numérico
embedMany()Procesa múltiples textos en lote
cosineSimilarity()Mide similitud entre vectores (0 a 1)
ChunkingDividir documentos en fragmentos
OverlapSolapamiento para no perder contexto
Top-KSeleccionar los K más relevantes

El flujo completo

¿Cuándo usar Embeddings?

Usar EmbeddingsNO usar Embeddings
Búsqueda semánticaBúsqueda por palabras exactas
RAG / Chat con docsConsultas SQL estructuradas
RecomendacionesFiltros 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.