Cómo recupera RAG el contexto
score(q, d) = cos(q, d)
contexto = top-k docs con score ≥ umbral
q = (1.0, 0.9, 0.0, 0.0, 0.1) · k = 3, umbral = 0.503 docs al LLM

El caso. BBVA monta un asistente que responde con sus documentos internos. Ante una pregunta (q: «¿qué comisiones tiene mi cuenta?»), RAG mide el coseno entre la pregunta y cada uno de los ~10 documentos del corpus, recupera los k más parecidos por encima de un umbral y se los pasa al LLM como contexto.

El recuperador — cuántos docs y con qué corte
k 3
umbral 0.50
La pregunta — de qué va la consulta q
comisiones 1.00
hipoteca 0.00
RRHH 0.00

Lee así. Las barras doradas son los documentos recuperados; las grises se descartan y el • marca los realmente relevantes. Sube k y entra ruido. Y sobre todo cambia la pregunta: el corpus no se mueve, pero el ranking se reordena y los relevantes pasan a ser otros. Con la pregunta de hipoteca solo hay un documento relevante: k=3 mete ruido.

cos(q,d) similitud coseno de dos embeddings, en [-1,1]. k cuántos documentos recuperar. umbral similitud mínima para entrar. precisión % del contexto que es relevante; recall % de relevantes hallados.
Para llevarte a casa
score(q,d) = cos(q,d)  ·  contexto = top-k con score ≥ umbral

La idea. RAG no reentrena el modelo: convierte pregunta y documentos en vectores, busca los más parecidos por coseno y los inyecta como contexto. El LLM responde citando esos fragmentos, no su memoria.

Negocio. BBVA responde con sus circulares al día sin reentrenar nada: cambia un PDF y la respuesta cambia. Menos alucinaciones, respuestas trazables a un documento y control sobre qué puede leer el asistente.

Y ahora. El arte está en elegir k y el umbral: poco contexto deja fuera la respuesta; demasiado la ahoga en ruido. Es el mismo compromiso precisión–recall de todo recuperador.

Garrido-Merchán — ecgarrido@comillas.edu — Deep Learning para Business Analytics — Día 15 · RAG