Habr AI→ original

Qdrant y DRAG with KNEE: cómo hacer RAG adaptativo sin gastar tokens extras

Demostramos cómo resolver el principal problema del RAG clásico: o contexto vacío o exceso de texto para la LLM. El enfoque DRAG with KNEE basado en Qdrant y…

Procesado por IA desde Habr AI; editado por Hamidun News
Qdrant y DRAG with KNEE: cómo hacer RAG adaptativo sin gastar tokens extras
Fuente: Habr AI. Collage: Hamidun News.
◐ Escuchar artículo

Ha salido un desglose práctico sobre cómo hacer que un sistema RAG sea menos voraz y más preciso. En el centro está DRAG with KNEE, un enfoque basado en Qdrant y Python que selecciona el volumen de contexto dinámicamente, en lugar de usar un top_k fijo.

Por qué el static top_k se rompe

Casi cualquiera que haya construido RAG sobre PDFs largos se ha encontrado con el mismo problema: si tomas muy pocos chunks, el modelo pierde contexto importante y comienza a inventar. Si tomas muchos, el ruido entra en el prompt, y con él vienen costos crecientes, latencia y el riesgo de que la LLM se enganche en un fragmento aleatorio. Un único parámetro top_k en este esquema intenta resolver demasiados problemas diferentes y casi siempre lo hace mal.

El autor llama a este compromiso una debilidad fundamental del RAG clásico. Un número fijo de documentos no tiene en cuenta ni el tipo de consulta, ni la estructura del archivo original, ni la densidad de información útil dentro del corpus. Para un hecho corto, un par de fragmentos puede ser suficiente, pero para una pregunta compleja sobre un documento multipágina, no lo es.

Como resultado, el sistema subalimenta el modelo con contexto o, por el contrario, lo sobrecarga con texto irrelevante e incendia el presupuesto de tokens.

Cómo funciona DRAG

La idea de DRAG with KNEE es no solo encontrar chunks similares, sino primero ver los documentos como una jerarquía y luego decidir dinámicamente dónde detener la selección. En lugar de un límite rígido, el algoritmo analiza la distribución de relevancia y busca un punto de inflexión—ese codo después del cual los fragmentos añadidos proporcionan cada vez menos beneficio. Todo lo que va a la cola larga después de este punto puede cortarse sin pérdida notable de significado.

En la práctica, esto parece una estrategia más adaptativa para la extracción de contexto. El sistema no está obligado a devolver el mismo número de chunks para cada consulta: en un caso habrá tres, en otro diez, y en un tercero varios grupos relacionados de diferentes partes del documento. Por eso, RAG se adapta mejor a la estructura real del conocimiento, en lugar de a una constante preseleccionada.

  • Primero, se encuentran candidatos por similitud vectorial
  • Luego se agrupan y ordenan por documentos y niveles
  • Después, el algoritmo busca el punto donde la utilidad comienza a caer bruscamente
  • Solo el núcleo relevante sin la cola larga de ruido entra en el contexto final

Este enfoque es especialmente útil donde el conocimiento no reside en una base FAQ ordenada, sino en instrucciones dispersas, informes, regulaciones y PDFs grandes. En tales corpus, las distancias entre fragmentos por sí solas dicen poco si no tienes en cuenta cómo estos fragmentos se conectan entre sí y qué tan rápidamente cae su valor para la respuesta. Es exactamente aquí donde el análisis geométrico deja de ser un adorno matemático y se convierte en un filtro práctico.

Por qué Qdrant aquí

Un punto fuerte aparte del artículo es que no se pierde en pura teoría. El autor muestra cómo construir un pipeline así usando Qdrant y Python, es decir, en un stack familiar que ya se usa en muchos proyectos RAG. Qdrant es responsable de la búsqueda vectorial y el trabajo con candidatos, mientras que la lógica de DRAG with KNEE añade una capa de adaptación encima: no solo encontrar algo similar, sino entender cuánto contenido similar realmente necesitas dar al modelo ahora mismo.

Para equipos que ya han implementado retrieval estándar y se han topado con problemas de calidad de respuestas o costos de inference, esta es una señal importante. El problema puede no estar en embeddings o en la LLM en sí, sino en cómo exactamente estás cortando y proporcionando contexto. Si reemplazas el top_k estático con corte dinámico por punto de inflexión, puedes simultáneamente reducir ruido y mejorar precisión sin reconstruir completamente la arquitectura.

Qué significa esto

RAG se está alejando gradualmente del ajuste fino en el espíritu de un parámetro para todos los casos. El material sobre DRAG with KNEE muestra un cambio simple pero importante: el siguiente nivel de calidad es no solo una búsqueda buena, sino la capacidad de detenerse a tiempo para que la LLM obtenga suficiente contexto para una respuesta, en lugar de una sobrecarga aleatoria de texto.

ZK
Hamidun News
Noticias de AI sin ruido. Selección editorial diaria de más de 400 fuentes. Producto de Zhemal Khamidun, Head of AI en Alpina Digital.

¿Quieres dejar de leer sobre IA y empezar a usarla?

AI News es un feed curado de noticias de IA. Hamidun Academy te enseña a usar la IA en tu trabajo.

¿Qué te parece?
Cargando comentarios…