RAG para marketplaces y ecommerce: buscador que responde preguntas reales (caso lujo)
Cómo implementar un buscador con IA que entiende preguntas reales de clientes. Caso de marketplace de lujo en Colombia: arquitectura, costos y resultados.
El buscador tradicional de tu ecommerce es estúpido. Si el cliente busca “reloj elegante para hombre”, el buscador solo encuentra productos con esas palabras exactas — y se pierde el “cronógrafo masculino premium” que también le serviría. Pérdida de ventas silenciosa todos los días.
En este artículo te explico cómo implementar un buscador inteligente con RAG que entiende preguntas reales de clientes. Con caso real de un marketplace de lujo en Colombia.
Si quieres entender RAG a fondo, lee nuestro pilar RAG explicado: cómo los chatbots y buscadores modernos realmente saben lo que saben.
Por qué el buscador tradicional falla
El buscador clásico (Algolia, Elasticsearch, LIKE de SQL) funciona porKeywords exactas o fuzzy matching básico. Tiene 3 problemas graves:
Problema 1: No entiende intención
Si el cliente escribe “quiero un regalo elegante para mi esposa que ama el arte”, el buscador busca cada palabra por separado. Resultado: 0 productos encontrados (ningún producto tiene “esposa” o “arte” en su descripción).
Problema 2: No maneja sinónimos ni variaciones
“zapatillas” vs “tenis” vs “calzado deportivo” vs “sneakers” — el buscador los trata como cosas distintas. Resultado: el cliente no encuentra productos que sí tienes.
Problema 3: No responde preguntas, solo lista
El cliente pregunta “¿cuánto cuesta el envío a Medellín?” y el buscador devuelve 0 productos. Resultado: el cliente se va sin resolver su duda.
Una tienda online en Bogotá tenía un buscador tradicional que solo funcionaba el 40% de las veces (cliente escribía algo y el buscador devolvía productos relevantes). El 60% de las búsquedas eran “fallidas”. Después de implementar RAG, el 85% de las búsquedas devuelve respuesta útil, incluyendo las preguntas no transaccionales.
Qué cambia con un buscador RAG
El buscador RAG entiende el significado, no lasKeywords. Y además responde preguntas, no solo lista productos.
Ejemplo: cliente busca “reloj elegante para mi papá que cumple 70”
Buscador tradicional:
- Busca palabras exactas: “reloj”, “papá”, “cumple”, “70”
- Resultado: 0 productos (ningún producto menciona “papá” o “cumple”)
- Cliente frustrado, se va
Buscador RAG:
- Entiende: “es un regalo para un hombre de 70 años, quiere algo elegante”
- Busca en el catálogo productos que coincidan semánticamente
- Responde: “Tenemos 3 opciones perfectas: Rolex Datejust 41 (clásico, $X), Omega Seamaster (deportivo elegante, $Y), Tissot PRX (moderno pero atemporal, $Z). Para un caballero de 70 años, recomendaría el Datejust por su legado clásico. ¿Te gustaría verlos?”
- Cliente ve opciones relevantes, elige, compra
Esa es la diferencia. Búsqueda porKeywords vs búsqueda por intención.
Arquitectura técnica de un buscador RAG para ecommerce
┌─────────────┐ ┌─────────────┐ ┌──────────────┐ ┌─────────────┐
│ Cliente │───▶│ Frontend │───▶│ API RAG │───▶│ Vector DB │
│ pregunta │ │ (React/ │ │ (Node.js) │ │ (Pinecone) │
│ │ │ Astro) │ │ │ │ Productos, │
└─────────────┘ └─────────────┘ │ │ │ políticas, │
│ │ │ FAQs │
│ │ └──────┬──────┘
│ │ │
│ │ ┌──────▼──────┐
│ │ │ Fragmentos │
│ │ │ relevantes │
│ │ │ (top 5) │
│ │ └──────┬──────┘
│ │ │
│ │ ┌──────▼──────┐
│ │◀───│ GPT-5 mini │
└─────────────┘ │ + contexto │
│ → respuesta│
└─────────────┘
Stack que usamos en Codify Tech
- Frontend: widget de chat + barra de búsqueda mejorada
- API: Node.js + LangChain
- LLM: GPT-5 mini (~$0.30 por millón de tokens)
- Vector DB: Pinecone serverless (gratis hasta 100k vectores)
- Embeddings: OpenAI text-embedding-3-small (~$0.02 por millón de tokens)
Costo mensual para 10.000 consultas: ~$80-150 USD/mes (depende del tamaño del catálogo).
Cómo implementarlo paso a paso
Paso 1: Preparar tus datos
Necesitas fragmentar tu catálogo + FAQs + políticas en pedazos pequeños.
Ejemplo de fragmentación:
Producto: "Reloj Rolex Submariner 116610 acero"
Fragmento 1: descripción + características técnicas
Fragmento 2: historia + materiales
Fragmento 3: precio + garantía + envío
Tamaño ideal de fragmento: 300-800 palabras. Si es muy grande, el LLM pierde precisión. Si es muy pequeño, pierde contexto.
Herramientas para fragmentar:
- LangChain:
RecursiveCharacterTextSplitter - LlamaIndex:
SentenceSplitter - Manual si tienes pocos productos
Paso 2: Generar embeddings
Cada fragmento se convierte en un vector numérico de 1536 dimensiones (usando OpenAI) o 768 (usando modelos open source).
El embedding captura el SIGNIFICADO del fragmento, no lasKeywords.
“reloj elegante” y “cronógrafo premium” tienen embeddings similares aunque no compartan palabras.
Paso 3: Guardar en base vectorial
Subes los embeddings + el texto original + metadata a Pinecone, Qdrant, Weaviate o Supabase pgvector.
Metadata útil:
- ID del producto
- Categoría
- Precio
- URL
- Tags
Así cuando el sistema encuentra fragmentos relevantes, también puede devolver el producto específico.
Paso 4: Implementar el endpoint de búsqueda
// Pseudocódigo del endpoint
async function search(query, filters = {}) {
// 1. Convertir query a embedding
const queryEmbedding = await openai.embeddings.create({
input: query,
model: "text-embedding-3-small"
});
// 2. Buscar top 5 fragmentos similares
const fragments = await pinecone.query({
vector: queryEmbedding,
topK: 5,
filter: { categoria: filters.categoria }
});
// 3. Generar respuesta con LLM + contexto
const prompt = `
Eres el asistente de [Marketplace de Lujo]. Responde la pregunta del cliente
usando SOLO el contexto proporcionado. Si no tienes la info, sugiere contactar
a un asesor humano.
Contexto:
${fragments.map(f => f.text).join('\n---\n')}
Pregunta: ${query}
Respuesta (en español colombiano, tono experto pero cercano):
`;
const answer = await openai.chat.completions.create({
model: "gpt-5-mini",
messages: [{ role: "user", content: prompt }]
});
return {
answer: answer.choices[0].message.content,
sources: fragments.map(f => ({ id: f.metadata.id, url: f.metadata.url }))
};
}
Paso 5: Integrar en el frontend
3 puntos de integración típicos:
- Barra de búsqueda mejorada — al usuario escribir, además de mostrar productos, mostrar respuestas generadas
- Widget de chat flotante — para preguntas largas o conversacionales
- Página de producto con FAQ dinámico — preguntas frecuentes generadas con RAG sobre ese producto específico
Caso real: marketplace de lujo en Colombia
Cliente: Marketplace de relojería y joyería de alta gama con 800+ productos Audiencia: coleccionistas y compradores de lujo en Bogotá, Medellín, Cali Ticket promedio: $8-25 millones COP por producto
Implementación:
-
Datos indexados (1 semana):
- 800 productos con descripciones técnicas, historia, materiales
- 200 FAQs históricas respondidas por el equipo
- 50 políticas (envío, devolución, autenticidad, garantía)
- Total: ~3.500 fragmentos
-
Arquitectura (2 semanas):
- Backend Node.js + LangChain + Pinecone + GPT-5 mini
- Frontend: widget de chat + barra de búsqueda mejorada
- Integración con su CMS para re-indexar productos nuevos automáticamente
-
Despliegue gradual (2 semanas):
- Semana 1: 10% del tráfico (test A/B)
- Semana 2: 50% del tráfico
- Semana 3: 100%
Resultados en 3 meses:
| Métrica | Antes | Después | Mejora |
|---|---|---|---|
| Búsquedas que devuelven producto | 40% | 88% | +120% |
| Tiempo promedio en el sitio | 2:15 min | 4:30 min | +104% |
| Conversión visitante → consulta | 3% | 9% | +200% |
| Preguntas respondidas sin humano | 0% | 75% | — |
| Tiempo del equipo en responder preguntas | 20h/semana | 5h/semana | -75% |
| Leads calificados/mes | 30 | 75 | +150% |
Insight: el buscador RAG no reemplazó al equipo humano. Les dio tiempo para enfocarse en leads calificados que el bot no podía cerrar.
Los 4 errores más comunes al implementar
❌ Indexar TODA tu web — el RAG funciona mejor con documentos relevantes y curados. No metas páginas irrelevantes.
❌ Confiar en el LLM sin validar — el LLM puede inventar datos que no están en los documentos. Pon un “circuit breaker”: si el bot no encuentra contexto relevante, escala a humano.
❌ Ignorar el feedback de los usuarios — mide satisfaction (thumbs up/down) y entrena con los casos fallidos.
❌ No re-indexar cuando cambias productos — si agregas productos nuevos, el RAG no los va a encontrar. Automatiza la indexación.
Cómo medir el ROI
Fórmula simple:
ROI = (ingreso incremental + costo ahorrado) / costo del RAG
Ejemplo real (marketplace de lujo):
- Leads calificados: +45/mes
- Ticket promedio: $15M COP
- Tasa de cierre: 15%
- Ingreso incremental: 45 × 0.15 × $15M = $101M COP/mes
- Costo ahorrado equipo: 15h/semana × $50k = $3M COP/mes
- Costo del RAG: ~$600k COP/mes
- ROI: $104M / $600k = 173x
Insight: un buscador RAG bien implementado se paga solo con 2-3 leads extra al mes.
Cuándo NO vale la pena RAG
- Catálogo muy pequeño (menos de 50 productos): un buscador tradicional basta
- Clientes que buscan por SKU exacto: no necesitan IA
- Presupuesto de infraestructura mínimo: sin capacidad de mantener embeddings actualizados, el bot se desactualiza rápido
Siguiente paso
¿Quieres implementar un buscador RAG para tu ecommerce o marketplace? En Codify Tech diseñamos e implementamos sistemas RAG a medida. Hacemos una auditoría + prototipo donde te mostramos:
- Qué datos tuyos valen la pena indexar
- Arquitectura técnica recomendada
- Estimación de costos y ROI
- Prototipo funcional en 2 semanas
Sin compromiso. Sin venta forzada.
👉 Solicita tu auditoría de buscador RAG o escríbenos a [email protected].
Otros artículos del cluster RAG que te van a servir: