Unidad 4 / 11

Estrategias de recuperación: Top-k, híbrido, reclasificación

Ganancias:

  • Implementación de búsqueda híbrida que combina selección top-k y búsqueda semántica y de palabras clave
  • Aumentar la precisión de la primera búsqueda con reclasificación
  • Hacer que las preguntas difíciles sean más fáciles de buscar con técnicas como la transformación de consultas y HyDE

Trituraste bien los documentos y los pusiste en la base de datos de vectores. Ahora el verdadero trabajo: buscar las piezas correctas cuando el usuario hace una pregunta. Esto se llama recuperación y es la columna vertebral de la calidad de RAG. Recuerde la frase "Calidad de recuperación = calidad RAG"; Esta unidad es exactamente el arte de mejorar esa calidad. Cubriremos técnicas prácticas desde la selección top-k hasta la búsqueda híbrida, desde la reclasificación hasta la transformación de consultas.

Top-k: ¿Cuántas piezas traeremos?

La configuración más básica: cuántas piezas (k) devolver de la búsqueda. Si traes menos (k=1) existe un alto riesgo de perder la pieza correcta; Si agrega demasiado (k = 20), agregará ruido al modelo y el costo del token aumentará.

Distinguir entre dos conceptos. Recuperación: el ritmo al que se encuentra la pieza correcta entre las recuperadas. Precisión: la velocidad a la que lo que se recupera es relevante. Aumentar k aumenta la recuperación pero disminuye la precisión. El objetivo es equilibrar los dos.

top-k

Impacto

situación adecuada

1-3

Alta precisión, riesgo de fallo

Preguntas sencillas de una sola respuesta

4-8

Saldo; la mayoría de los escenarios

RAG corporativo general

10-20

Mayor recuperación, el ruido aumenta

Con reclasificación (abajo)

Consejo: Patrón común y poderoso: buscar ancho (k=20), luego estrechar con reclasificación (top 4). De esta manera no te perderás nada y le darás un contexto limpio al modelo.

Búsqueda híbrida: el poder de dos búsquedas

La búsqueda semántica (vectorial) captura el significado pero omite cosas: código de producto completo ("XR-4471"), abreviatura rara, nombre propio, número de versión. Para estas tareas de concordancia exacta, la búsqueda de palabras clave de la vieja escuela, especialmente el algoritmo clásico llamado BM25, es muy buena.

La búsqueda híbrida combina las dos: tanto la búsqueda semántica como la de palabras clave funcionan y combinan los resultados. Así, en una pregunta como "Período de garantía del

La fusión se suele realizar con RRF (Reciprocal Rank Fusion): avanza la pista que está más arriba en ambas listas.

# Recuperación híbrida (conceptual)sem = vector_search(question, k=20) # Meaningkey = bm25_search(question, k=20) # fullwordresult = rrf_merge(sem, key)[:8] # fusiona los dos, top 8

Reclasificación: segundo y más inteligente pase

La primera llamada puede ser rápida pero grosera. La reclasificación califica a los candidatos arrojados por la primera búsqueda uno por uno con un modelo más poderoso (generalmente un codificador cruzado, un modelo que lee la pregunta y el pasaje juntos y califica la relevancia) y mueve los más relevantes a la cima.

La lógica es la siguiente: la primera búsqueda asigna una gran cantidad de candidatos para recordar (20 candidatos), el reclasificador selecciona los 4 mejores por precisión. Este enfoque de dos etapas es mucho más preciso que una búsqueda de una sola etapa. Cuesta algo de retraso y procesamiento adicional; La ganancia es un aumento significativo en la calidad.

# Recuperación de candidatos (conceptuales) en dos etapas = búsqueda_híbrida(pregunta, k=20) # amplia, puntuación rápida = reranker.score(pregunta, candidatos) # puntuación de relevancia para cada contexto de candidato = rating.rank()[:4] # top 4

Transformando la consulta

A veces el problema no está en la búsqueda, sino en la pregunta misma. Si el usuario pregunta "¿qué pasa con los trabajadores remotos?" ', esto no se puede buscar solo (no está claro qué es para los trabajadores remotos). Estas son las técnicas de transformación de consultas:

  • Reescribir: utilice el historial de conversaciones para hacer la pregunta independiente: "¿A qué tienen derecho los trabajadores remotos a vacaciones anuales?"
  • Multiconsulta: Genera 3 expresiones diferentes de una misma pregunta, busca con todas, combina los resultados. Diferentes palabras encuentran diferentes piezas.
  • HyDE (incrustaciones de documentos hipotéticos): primero imprima una "posible respuesta" al modelo, luego incruste y busque esa respuesta imaginaria. La respuesta imaginaria a veces resulta mejor porque se acerca más en palabras al documento real.

# Variantes (conceptuales) de consulta múltiple = model.uret("Expresa esta pregunta de 3 maneras diferentes: " + pregunta)tum_sonuc = []for v en variantes: all_sonuc += vector_intermediate(v, k=6)context = singular_and_order(tum_result)[:6]

Recuperación débil / Recuperación fuerte

Débil (etapa única, solo semántica, constante k=3):

resultado = vector_search(question, k=3)# Problema: falta el código del producto, no se puede ingresar la parte 3 correcta en preguntas difíciles.

Potente (híbrido + ancho + reclasificación + consulta múltiple si es necesario):

candidatos = hybrid_search(rewrite(pregunta, pasado), k=20)context = reranker.score(pregunta, candidatos).first(4)# Se capturan tanto la coincidencia exacta como el significado; Va a los 4 mejores modelos.

Tres mini estuches

Caso 1: Se escapó el código de producto. Una búsqueda semántica pura en un equipo de soporte no pudo encontrar "RTX-9080" palabra por palabra en la pregunta "Error del controlador RTX-9080"; Traía otros productos con nombres similares. Cuando se agregó la búsqueda híbrida, se produjo una coincidencia exacta de códigos y la tasa de devolución de artículos correctos aumentó del 58% al 92%.

Caso 2: diferencia de reclasificación. Un asistente legal estaba trabajando con k=5 pero el elemento correcto es 7-10 la mayor parte del tiempo. Se mantenía en las filas. Cuando se introdujo k=20 + reclasificación, la tasa de que el artículo correcto estuviera entre los 3 primeros aumentó del 61% al 94%; La latencia aumentó sólo 300 ms, un compromiso aceptable.

Caso 3: Pregunta de seguimiento sin contexto. En un asistente de recursos humanos, el usuario pregunta "¿qué pasa con los trabajadores a tiempo parcial?" Cuando pregunté, el sistema trajo piezas irrelevantes. Al reescribir la consulta (eliminando el contexto de "vacaciones anuales" del pasado y agregando "Los empleados a tiempo parcial tienen derecho a vacaciones anuales"), la tasa de respuesta correcta aumentó del 40% al 86%.

Errores comunes

  • Depender únicamente de la búsqueda semántica: se omiten el código del producto, la abreviatura y el nombre propio; Añade híbrido.
  • Mantener k demasiado pequeño: la pieza correcta no puede ingresar a la lista; hazlo ancho y estrechelo con re-rank.
  • Nunca pensar en reclasificar: la primera búsqueda es de mala educación; El segundo pase inteligente mejora significativamente la calidad.
  • Búsqueda de preguntas de seguimiento tal como están: una pregunta sin contexto busca cosas sin sentido; volver a escribir.
  • Aumentar k ciegamente (sin reclasificar): el modelo se llena de ruido, la respuesta se distorsiona y el costo aumenta.
Cuidado: cada técnica añade costos y demoras. Consulta múltiple significa búsqueda triple, reclasificación significa llamada de modelo adicional. Comience primero con un híbrido simple + k razonable; Mida y agregue técnicas pesadas donde realmente sea necesario. Sumar sin medir.

En resumen

  • Top-k es el equilibrio entre recuperación y precisión; Generalmente 4-8 es un buen comienzo.
  • La búsqueda híbrida combina la búsqueda semántica con la búsqueda de palabras clave (BM25); Recupera coincidencias exactas.
  • La nueva clasificación vuelve a calificar a los candidatos de la amplia búsqueda inicial con un modelo sólido y selecciona a los mejores.
  • La transformación de consultas (reescritura, consultas múltiples, HyDE) hace que se puedan buscar preguntas difíciles y libres de contexto.
  • Patrón fuerte: alcance amplio → fusionar con híbrido → estrecho con reclasificación; pero agrega cada técnica midiendola.

Tarea de aplicación

Prepare 6 preguntas difíciles con datos de unidades anteriores: al menos 2 que requieran coincidencias exactas (código de producto, abreviatura, fecha), 2 semánticas (mismo tema con diferentes palabras), 2 preguntas de seguimiento sin contexto. (1) Primero piense en cada pregunta como una búsqueda semántica pura y marque manualmente qué partes aparecerán. (2) Vuelva a evaluar las mismas preguntas añadiendo híbrido y reclasificación. (3) Reescribir las preguntas de seguimiento sin contexto. Anote en forma de tabla qué técnica marca la diferencia en qué tipo de pregunta.

lista de verificación

  • [] Sé que top-k es una balanza de precisión de recuperación y un rango inicial razonable.
  • [] Puedo explicar por qué la búsqueda híbrida recupera coincidencias exactas.
  • [] Puedo aplicar la lógica de dos pasos de reclasificación (amplia → inteligente estrecha).
  • [] Reconozco la necesidad de reescribir las preguntas de seguimiento sin contexto.
  • [] Confirmo que agregué técnicas pesadas midiendo, no midiendo.