Ir al contenido

Anatomía de un pipeline RAG

Da igual si usás Vercel AI SDK, LangChain, LlamaIndex o Mastra. Da igual si tu vector store es Qdrant, Pinecone, Weaviate o un array en memoria. Da igual si corre en la nube o en tu navegador.

Todos los sistemas RAG hacen lo mismo, paso a paso.

Y entender esos pasos es la diferencia entre saber usar un framework y saber diseñar un sistema RAG. Spoiler: lo que te paga el sueldo es lo segundo.

Antes de los 4 stages, fijate que hay dos momentos distintos en la vida de un RAG:

INDEXACIÓN (una vez, o cada vez que cambian los docs)
docs → chunks → embeddings → vector store
QUERY (cada pregunta del usuario)
pregunta → buscar contexto → armar prompt → LLM → respuesta

La indexación es trabajo pesado pero infrecuente. La query es rápida y constante. Confundir las dos fases es un error clásico al diseñar el sistema.

Tomás tus documentos, los partís en chunks (pedazos manejables — generalmente 200 a 800 tokens), y cada chunk lo convertís en un vector numérico usando un modelo de embeddings.

Ese vector es la “huella digital semántica” del chunk. Textos parecidos tienen vectores parecidos.

Los guardás en un vector store que sabe buscar por similitud rápido.

Llega la pregunta del usuario. La convertís en un vector usando el mismo modelo de embeddings que usaste para los chunks (esto es CRÍTICO — embeddings de modelos distintos no son comparables).

Le pedís al vector store: “dame los K chunks más parecidos a este vector”. Típicamente K = 3 a 10.

Construís un prompt que combina:

  • Los chunks recuperados como contexto.
  • La pregunta original del usuario.
  • Una instrucción al LLM del estilo: “respondé basándote SOLO en el contexto. Si no está, decí que no sabés”.

Esto último es la diferencia entre un RAG decente y uno que alucina.

Le mandás el prompt completo al LLM. Te devuelve una respuesta basada en TU información, idealmente con citas a las fuentes.

Ya tenés el mapa mental completo. En la próxima vamos a fijar el vocabulario mínimo que vas a usar todo el curso: chunk, embedding, vector store, top-k, similarity. Si esos términos te suenan vagos, esa página es para vos.