Embeddings y búsqueda semántica corporativa: el motor invisible detrás del RAG
Los embeddings parecen un detalle técnico — pero la elección equivocada degrada cualquier agente IA corporativo. Guía objetiva para CTOs sobre modelos, dimensiones, costo y lo que realmente importa en producción.
Fabiano Brito
CEO & Founder
text-embedding-005 vía Vertex AI) cubre el 90% de los casos. El otro 10% (multilingüe pesado, código, jurídico) merece una elección consciente. Más importante que el modelo: chunking, metadatos, reranker y hybrid search.
Embedding es el componente RAG más subestimado. Los equipos debaten prompts durante semanas pero usan el embedding default sin comparar. Resultado: motor de búsqueda semántica mediocre, agente que parece "alucinando" cuando en realidad recibe contexto malo.
Este post es la guía que daríamos a un CTO antes de aprobar la arquitectura.
Qué es embedding (en 2 párrafos)
El modelo de embedding toma texto ("contrato de prestación de servicios") y devuelve vector de N números (ej.: 768). Textos con significado parecido se convierten en vectores cercanos en el espacio; textos diferentes quedan lejos.
Búsqueda semántica funciona así: indexa todos los documentos como vectores. Recibe pregunta, la vectoriza, encuentra los K vectores más cercanos = top-K documentos relevantes. Eso está detrás de "búsqueda" en cualquier RAG moderno.
Modelos disponibles en Vertex AI
| Modelo | Dim | Costo (US$/1M tokens) | Uso recomendado |
|---|---|---|---|
text-embedding-005 |
768 | 0.025 | Default general, multilingüe ligero |
text-embedding-large-005 |
3072 | 0.10 | Alta precisión, mayor latencia |
text-multilingual-embedding-002 |
768 | 0.025 | Multilingüe específico (20+ idiomas) |
| OSS (E5, BGE) | variable | infra propia | Casos con dato ultra-sensible on-prem |
En Gemini Enterprise + Vertex AI Search, la elección viene configurada. Para customizar, se crea un Data Store dedicado.
Criterios prácticos de decisión
Solo PT-BR + inglés ocasional → text-embedding-005. ES/ZH/AR/JA significativos → text-multilingual-embedding-002.
Negocio general → default. Jurídico/médico denso → probar versión large. Código fuente → embedding de código dedicado (nunca el de texto).
Vector mayor = búsqueda más lenta + más almacenamiento. Chat conversacional → 768 a menos que recall sea crítico.
En base 100k+ docs, la diferencia 768 vs 3072 se vuelve costo real de almacenamiento y reindexación periódica.
Lo que importa MÁS que la elección del modelo
Mal embedding de buen chunk >> buen embedding de mal chunk. La prioridad absoluta es el chunking semántico, no el modelo.
- Chunking semántico: respetar la estructura del documento. Ver RAG corporativo.
- Pre-resumen: indexar (chunk + resumen) duplica recall en corpus técnico.
- Metadatos como filtro: categoría/fecha/autor reducen el universo antes de la búsqueda semántica.
- Reranking: top-50 del embedding → top-5 del cross-encoder. Vertex AI Search lo tiene nativo.
- Hybrid search: combinación semántica + léxica. Captura sinónimos Y términos exactos (número de contrato, nombre propio).
Cómo evaluar la calidad de tu búsqueda
| Métrica | Qué mide | Objetivo |
|---|---|---|
| Recall@10 | ¿Documento correcto en top 10? | > 90% |
| MRR | Posición media del mejor resultado | > 0.6 |
| nDCG@10 | Calidad del orden de resultados | > 0.7 |
Construye gold set de 100–300 pares (pregunta, documento esperado). Usa Vertex AI Evaluation para ejecutar en cada cambio. Más en evaluación de agentes en producción.
Errores comunes
Cuándo construir embedding propio
Muy raro. Considera solo si:
- Dominio extremadamente específico (química industrial, patentes farmacéuticas).
- El volumen justifica el costo de fine-tuning + serving (millones de queries/mes).
- El equipo tiene ML engineer dedicado.
En el 95% de los proyectos corporativos, el modelo default de Vertex AI + chunking cuidadoso supera el fine-tuning amateur.
¿Tu RAG rinde mediocre y no sabes si el cuello de botella es el embedding?
En 2 semanas: gold set + benchmark de 3 modelos + reranker activado + informe con plan de acción. Decisión basada en datos, no en hype.
