
Ajusta un modelo de recomendación de productos para e-commerce: guía completa
Los motores de recomendación genéricos pierden relaciones semánticas entre productos. Así es como puedes ajustar un modelo con tu catálogo e historial de compras para construir recomendaciones que aumenten el valor promedio del pedido.
El filtrado colaborativo recomienda "otros clientes también compraron X". Funciona para productos populares pero falla en la cola larga — y tiene cero comprensión semántica. Un cliente comprando una estufa de camping probablemente debería ver encendedores y fósforos impermeables. El filtrado colaborativo solo sabe esto si suficientes otros clientes compraron exactamente esos artículos juntos.
Un modelo de lenguaje ajustado entiende las relaciones de productos semánticamente. Puedes entrenarlo con tu catálogo, tu historial de compras y tus interacciones con clientes para construir un motor de recomendaciones que sabe para qué sirven realmente tus productos.
Lo que estás construyendo
Un modelo que toma un producto (o un carrito) como entrada y devuelve recomendaciones ordenadas. Ejemplo:
Entrada:
Customer is viewing: Jetboil Flash Camping Stove
Cart contains: Sleeping bag, tent stakes
Recommend 5 complementary products from our catalog.
Salida:
1. MSR Fuel Canister 110g — Required fuel for Jetboil Flash operation
2. UCO Stormproof Matches — Backup ignition, waterproof
3. Sea to Summit Alpha Light Spork — Lightweight utensil for camp cooking
4. Nalgene Wide Mouth Bottle 32oz — Water container for cooking
5. Bear Canister — Required food storage for backcountry camping
Esto no es filtrado colaborativo. El modelo sabe que una estufa de camping necesita combustible, que los fósforos impermeables son ignición de respaldo, y que los utensilios de cocina son contextualmente relevantes. Produce esto desde la comprensión semántica de tu catálogo.
Requisitos de datos
Dataset mínimo viable: 500 pares de (producto/carrito, recomendaciones)
Tamaño de dataset recomendado: 2,000-5,000 ejemplos
Datos que necesitas:
- Catálogo de productos con descripciones (SKU, nombre, descripción, categoría, atributos)
- Historial de compras (ID de pedido, IDs de productos por pedido)
- Recomendaciones existentes que convirtieron (si tienes datos de recomendaciones)
Cómo construir ejemplos de entrenamiento desde el historial de compras:
- Toma pedidos con más de 3 artículos
- Usa artículo(s) comprados como la entrada "carrito"
- Usa los artículos restantes como la salida "recomendación correcta"
- Filtra pedidos donde el artículo recomendado no era una coincidencia obvia de categoría (elimina ruido)
Paso 1: Prepara tu dataset
Exporta tu catálogo de productos como JSON:
{
"sku": "JB-FLASH-BLK",
"name": "Jetboil Flash Camping Stove",
"description": "Fast, lightweight backpacking stove. Boils 1L water in 100 seconds. Requires Jetboil fuel canister.",
"category": "Camping Stoves",
"attributes": {
"weight": "13.1 oz",
"compatible_fuel": "Jetboil fuel canisters",
"use_case": "backpacking, ultralight camping"
}
}
Exporta el historial de compras y construye pares de recomendación como JSONL:
{"messages": [{"role": "user", "content": "Customer viewing: Jetboil Flash Camping Stove. Recommend 3 complementary products."}, {"role": "assistant", "content": "1. Jetboil JetPower Fuel 100g — Required fuel for Jetboil Flash\n2. UCO Stormproof Match Kit — Backup ignition\n3. Sea to Summit Alpha Light Spork Set — Lightweight eating utensil for camp cooking"}]}
{"messages": [{"role": "user", "content": "Cart: 2-person backpacking tent, sleeping bag. Recommend 3 complementary products."}, {"role": "assistant", "content": "1. Sleeping bag liner — Adds warmth and extends temperature range\n2. Tent footprint — Protects tent floor from abrasion\n3. Headlamp — Essential for camp use at night"}]}
El mensaje de sistema debería describir el rol del modelo y el alcance de tu catálogo:
{"messages": [{"role": "system", "content": "You are a product recommendation assistant for [Brand], an outdoor gear retailer. Recommend products from our catalog that are genuinely complementary — based on functional need, common use together, or upgrade path. Be specific about why each product complements the item(s) in the cart."}, ...]}
Paso 2: Entrenar con Ertas
- Sube tu dataset JSONL en Ertas
- Valida el dataset (Ertas señalará errores de formato)
- Selecciona un modelo base (Mistral 7B o Llama 3 8B funcionan bien para tareas de recomendación)
- Inicia el trabajo de entrenamiento
Con un dataset de 2,000 ejemplos, el entrenamiento típicamente toma 30-60 minutos. Ejecuta con la configuración LoRA por defecto a menos que tengas una razón específica para ajustar.
Paso 3: Evaluar
Tu conjunto de evaluación debería reservarse antes del entrenamiento — usa el 10-15% de tu dataset para evaluación.
Métricas clave:
- ¿El modelo recomienda productos reales de tu catálogo (tasa de alucinación)?
- ¿Las recomendaciones son semánticamente relevantes?
- ¿Las recomendaciones son lo suficientemente específicas para ser útiles?
Prompt de evaluación: Ejecuta 50-100 productos de tu conjunto de evaluación a través del modelo. Puntúa manualmente cada conjunto de recomendaciones: 3 = todas relevantes, 2 = mayormente relevantes, 1 = mayormente irrelevantes. Puntuación promedio objetivo: mayor o igual a 2.5.
Problemas comunes:
- El modelo recomienda productos que no están en tu catálogo -> Agrega más ejemplos con referencias específicas de SKU
- Recomendaciones demasiado genéricas -> Agrega más ejemplos específicos con explicación funcional
- El modelo repite los mismos productos -> Agrega ejemplos con más diversidad de catálogo
Paso 4: Integrar en tu plataforma Shopify / e-commerce
Exporta el modelo entrenado como GGUF desde Ertas, despliega con Ollama.
Integración con Shopify (vía app personalizada o Shopify Functions):
// In your product page component
async function getRecommendations(product, cart) {
const response = await fetch('http://your-ollama-server:11434/api/chat', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
model: 'your-recommendation-model',
messages: [
{
role: 'user',
content: `Customer viewing: ${product.title}. Cart: ${cart.map(i => i.title).join(', ')}. Recommend 4 complementary products.`
}
],
stream: false
})
});
const data = await response.json();
return parseRecommendations(data.message.content);
}
Analiza la salida del modelo para extraer nombres de productos, luego haz coincidencia con tu catálogo vía Shopify Product API.
Medir la mejora
Rastrea antes y después:
- Tasa de clics en recomendaciones (CTR en el widget de recomendaciones)
- Agregar al carrito desde recomendaciones (tasa de agregado secundario)
- Valor promedio del pedido (la métrica definitiva)
Mejoras típicas con un modelo de recomendación bien entrenado vs filtrado colaborativo genérico:
- CTR: +15-30%
- Tasa de agregado secundario: +20-40%
- AOV: +3-8%
Para una tienda con $50,000 de ingresos mensuales, una mejora del 5% en AOV es $2,500/mes — $30,000/año. El modelo recupera su costo de entrenamiento en semanas.
Ship AI that runs on your users' devices.
Ertas early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.
Lectura adicional
- Oportunidad de agencia de IA para e-commerce — La visión completa del vertical de e-commerce
- IA de servicio al cliente para e-commerce — Automatización de tickets de soporte
- IA para Shopify sin costos de API — Reemplazar llamadas de OpenAI en Shopify
- Ajusta una vez, cobra mensualmente — El modelo de servicio productizado
Ship AI that runs on your users' devices.
Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.
Keep reading

E-Commerce Customer Service AI: Build a Fine-Tuned Support Model
Replace expensive GPT-4 support calls with a fine-tuned model trained on your ticket history. Here's the full build: data prep, training, deployment, and accuracy targets.

E-Commerce Product Catalog AI Classification: Fine-Tuned Category Models
Manually categorizing thousands of SKUs is expensive and inconsistent. A fine-tuned classifier trained on your taxonomy reduces categorization time by 80% and improves consistency across your catalog.

Fine-Tune a Listing Description AI for Real Estate: Step-by-Step
Real estate agents spend 30-45 minutes writing each listing. A fine-tuned model trained on the brokerage's own listings generates on-brand descriptions in 2 minutes. Here's how to build it.