2 min de lectura · Actualizado 2026-05-22
Hybrid retrieval para documentación técnica
Cuando la búsqueda semántica falla en códigos de error alfanuméricos, el hybrid retrieval es la clave. Receta probada en campo con números reales.
por helpcode research team · Research @ helpcode
El failure mode del retrieval solo semántico
Construís un sistema RAG sobre un manual de 1.200 páginas de bombas industriales. Lo probáis con queries conversacionales — "qué significa el error F112" — y funciona maravillosamente. Hacéis ship.
Dos días después un instalador pregunta: "ruido al arranque modelo P-340". Vuestro retriever basado en embedding devuelve un pasaje sobre procedimientos generales de arranque. La respuesta real — en la página 847, bajo "P-340 troubleshooting" — nunca entra en el top-50. ¿Por qué?
Los embeddings codifican significado. No codifican el hecho de que P-340 es un token literal que el usuario necesita obtener palabra por palabra. La similitud semántica coloca P-340 cerca de P-330, P-350 y de varios números de pieza de otras páginas. El pasaje relevante queda enterrado.
El patrón híbrido explicado
El hybrid retrieval ejecuta dos retrievers en paralelo:
- Retrieval vectorial — embeddings + búsqueda ANN. Captura semántica.
- Retrieval léxico — BM25 (o similar). Captura tokens literales.
Los dos conjuntos de resultados se fusionan. El top-K del conjunto fusionado pasa por un cross-encoder reranker, que puntúa cada candidato contra la query original. Los top-12 finales van al LLM.
Defaults de helpcode: K=50 de cada retriever, fusionados a 100, rerankados a 12.
Tunear el boost BM25
La perilla no obvia es cuánto peso dar al retriever léxico en la fusión. Default 0,5. Luego en eval:
- Si el corpus contiene muchos códigos alfanuméricos (HVAC, sensores, máquinas-herramienta) — subid el peso léxico a 0,6-0,7.
- Si el corpus es principalmente prosa (un help center, páginas de marketing) — bajad el peso léxico a 0,3-0,4.
Tunead siempre sobre un eval set representativo. Nunca adivinéis.
El pase del reranker
El reranker es lo que hace que el hybrid retrieval se sienta inteligente. El conjunto fusionado tiene ~100 candidatos con scores ruidosos; el cross-encoder lee cada candidato junto a la query original y produce un score de relevancia fino.
En nuestros benchmarks, el hybrid retrieval sin reranker da un lift de precision-at-1 de ~7-12 puntos sobre el solo semántico. Añadir el reranker lo lleva a 20-30 puntos, según el corpus.
Resultados de campo en 3 despliegues
| Cliente | Dominio | Antes (solo semántico) | Después (híbrido + reranker) |
|---|---|---|---|
| OEM de bombas industriales | Manual de 1.200 páginas + service bulletins | 51 % FCR | 78 % FCR |
| Distribuidor de bombas de calor | Manual 800 pág × 8 marcas | 64 % precisión de cita | 91 % precisión de cita |
| Fabricante de sensores | Datasheets + procedimientos de calibración | 0,62 nDCG@10 | 0,83 nDCG@10 |
Trampas
- El chunking importa tanto como el retriever. Un chunking malo destruye también el recall léxico. Mantened las tablas intactas; para chunks ambiguos considerad el contextual retrieval.
- No os saltéis el reranker para ahorrar latencia. Es el mayor lift individual. Capad el reranker en top-50 candidatos para mantener la latencia bajo 1,4 s.
- Eval, eval, eval. El hybrid retrieval tiene más perillas que el semántico solo. Sin eval set regresáis sin daros cuenta.
Sobre la autora / el autor
helpcode research team
Research @ helpcode