concepto · intermedio · 6 min de lectura
Embeddings
Los embeddings convierten texto u otros contenidos en vectores numéricos para comparar significado, buscar similitud y recuperar información relevante.
No requiere conocimientos previos.
Alcance en breve
Cubre
- embeddings as numerical vector representations of text or other content
- semantic similarity, distance metrics, indexing, and retrieval at a conceptual level
- practical limitations such as chunking, model choice, drift, and evaluation
No cubre
- neural network training internals
- vector database implementation details
- fine-tuning embedding models
Supone
- The reader understands basic LLM applications, documents, search, and arrays of numbers.
Resumen
Los embeddings son representaciones numéricas de contenido. Un modelo toma texto, imagen, audio u otro dato y lo transforma en un vector: una lista de números que intenta ubicar elementos con significado parecido cerca entre sí en un espacio matemático.
Importan porque habilitan búsqueda semántica. En vez de buscar solo palabras exactas, una aplicación puede encontrar textos relacionados por significado. Esa capacidad es base para RAG, recomendadores, clustering, deduplicación y clasificación asistida por similitud.
Alcance y supuestos
Este paquete cubre embeddings a nivel conceptual: qué representan, cómo se usan para comparar similitud, por qué aparecen en RAG y qué decisiones prácticas afectan su calidad.
No cubre entrenamiento interno de redes neuronales, implementación de bases vectoriales, fine-tuning de modelos de embeddings ni métricas avanzadas de evaluación. Asume que entiendes documentos, búsqueda, LLMs y arrays numéricos.
Modelo mental
Piensa en una biblioteca donde cada libro recibe una coordenada en un mapa invisible. Los libros sobre temas parecidos quedan cerca, aunque no usen exactamente las mismas palabras. Un libro sobre "devoluciones de ecommerce" puede quedar cerca de otro sobre "reembolso de compras online", porque hablan de ideas similares.
Un embedding es esa coordenada. No es una explicación humana del contenido; es una posición numérica útil para comparar. Si conviertes una pregunta y muchos documentos al mismo espacio vectorial, puedes buscar qué documentos están más cerca de la pregunta.
La promesa no es perfección semántica. El mapa depende del modelo, del idioma, del dominio, del tamaño de los chunks y de cómo mides distancia. Dos textos pueden parecer cercanos para el modelo y aun así no responder bien la pregunta concreta.
Uso práctico
Usa embeddings cuando necesitas comparar significado o recuperar contenido similar:
- ✅ En RAG, conviertes chunks de documentos en vectores y recuperas los más parecidos a la pregunta del usuario.
- ✅ En soporte, puedes agrupar tickets similares aunque usen vocabulario distinto.
- ❌ Si necesitas coincidencia exacta de IDs, fechas, códigos o estados, una búsqueda semántica puede ser menos segura que filtros estructurados.
- ❌ Si los documentos están mal troceados o desactualizados, mejores embeddings no arreglan el problema de base.
Ejemplo trabajado: recuperar documentos por similitud semántica
Supón que tienes tres documentos internos y una pregunta de usuario. En producción llamarías a un modelo de embeddings. Para entender el flujo, podemos representar cada documento con un vector pequeño.
type DocumentVector = {
id: string;
text: string;
embedding: number[];
};
const documents: DocumentVector[] = [
{
id: "refunds",
text: "Política de reembolsos y devoluciones para compras online",
embedding: [0.9, 0.1, 0.2],
},
{
id: "shipping",
text: "Tiempos de despacho y seguimiento de envíos",
embedding: [0.2, 0.8, 0.1],
},
{
id: "security",
text: "Recomendaciones para proteger una cuenta de usuario",
embedding: [0.1, 0.2, 0.9],
},
];
La pregunta también se convierte en vector:
const questionEmbedding = [0.85, 0.15, 0.25];
Luego comparas similitud. Una forma simple es producto punto cuando los vectores ya están normalizados:
function dot(a: number[], b: number[]) {
return a.reduce((total, value, index) => total + value * b[index], 0);
}
function mostSimilar(query: number[], docs: DocumentVector[]) {
return docs
.map((doc) => ({ ...doc, score: dot(query, doc.embedding) }))
.sort((a, b) => b.score - a.score)[0];
}
const match = mostSimilar(questionEmbedding, documents);
console.log(match.id); // refunds
El resultado no aparece porque la palabra "reembolso" coincida exactamente, sino porque el vector de la pregunta quedó cerca del documento de devoluciones. En una app real, ese documento recuperado se usaría como contexto para responder o como candidato para un ranking posterior.
Antes de usar embeddings, revisa cinco decisiones:
- ¿Qué contenido vas a convertir en vectores: documentos completos, párrafos o chunks pequeños?
- ¿Qué modelo de embeddings funciona bien para tu idioma y dominio?
- ¿Qué métrica de similitud usarás y cómo calibrarás el umbral?
- ¿Qué filtros estructurados necesitas combinar con la búsqueda semántica?
- ¿Cómo medirás si los resultados recuperados realmente responden la intención del usuario?
Si esas decisiones están bien tomadas, embeddings hacen que la búsqueda sea más cercana al significado. Si no, solo tendrás una búsqueda difusa difícil de depurar.
Evidencia
- OpenAI API, Vector embeddings describe embeddings como una forma de convertir texto en números para habilitar búsqueda, clustering y otros casos de uso.
- Google Machine Learning Crash Course, Embeddings explica embeddings como representaciones de menor dimensión para datos dispersos.
- SentenceTransformers Documentation documenta modelos para computar embeddings y calcular similitud entre textos, imágenes, audio o video.
Conexiones
Qué habilita
Requerido por
Siguiente paso
Requerido por: Bases de datos vectorialesFuentes citadas
- OpenAI API, Vector embeddings (Oficial, 20-07-2026)
- Google Machine Learning Crash Course, Embeddings (Oficial, 20-07-2026)
- SentenceTransformers Documentation (Oficial, 20-07-2026)