Saltar al contenido principal

Generación aumentada por recuperación (RAG)

Intermedio

RAG hace que un modelo responda preguntas sobre tus datos — documentos, una base de conocimiento, una base de código — con los que nunca fue entrenado. La idea es simple: recuperar las piezas relevantes, aumentar el prompt con ellas y luego generar una respuesta fundamentada en esas piezas.

El bucle

  1. Indexa tus datos: divídelos en fragmentos, embébelos y almacénalos en un índice vectorial (y/o de palabras clave).
  2. Recupera los principales fragmentos más relevantes para la pregunta.
  3. Aumenta: pon esos fragmentos en el prompt con una instrucción como "Responde solo a partir del contexto siguiente; si no está ahí, dilo".
  4. Genera — e idealmente cita de qué fragmento proviene cada afirmación.

¿Por qué RAG en lugar de fine-tuning?

RAG mantiene el conocimiento fresco (actualizas los datos, no el modelo), proporciona citas y es mucho más barato que reentrenar. Para la mayoría de las necesidades de "responder sobre mis documentos", es la herramienta correcta para empezar — consulta Fine-tuning vs prompting vs RAG.

Los modos de fallo (donde muere la calidad de RAG)

  • Mala recuperación = mala respuesta. Si el fragmento correcto no se recupera, el modelo no puede usarlo. La mayoría de los problemas de "RAG se equivoca" son problemas de recuperación.
  • Fragmentado demasiado grueso/fino — arruina la relevancia (embeddings).
  • Sin instrucción de fundamentación — el modelo mezcla los hechos recuperados con sus propias conjeturas. Dile que responda solo a partir del contexto y que admita las lagunas.
  • Meter demasiado — los fragmentos irrelevantes diluyen la señal y cuestan tokens. Recupera pocos fragmentos, de alta calidad.
  • Sin citas — no puedes verificar, así que no puedes confiar.

:::tip Evalúa la recuperación por separado Mide "¿recuperamos el fragmento correcto?" aparte de "¿respondió bien el modelo?" Localiza el problema rápidamente. Consulta Evals. :::

Siguiente