
En esta sesión de una hora vemos qué es RAG, qué problema resuelve y cómo funciona por dentro explicado para que lo entiendas y con una demo montada para que veas cómo montarlo tú paso a paso.
Un modelo de lenguaje sabe muchísimo, pero no sabe sobre tus cosas.
No se entrenó con tu documentación
Ni con tus notas.
Y cuando no sabe algo, hay más riesgo de que se lo invente y alucine.
¿Y si el modelo pudiera consultar tu documentación antes de responder?
Esa es exactamente la idea detrás de RAG (Retrieval Augmented Generation), el tema de esta sesión de la Comunidad.
RAG viene de Retrieval Augmented Generation: generación aumentada por recuperación.
Suena complicado, pero la idea es sencilla.
Si has visto la sesión de ingeniería de prompts, recordarás el grounding: Cuando quieres que el modelo responda con tu información, se la pegas en el prompt para que la cite y no se invente nada.
RAG es exactamente eso, pero automático y a escala. En lugar de copiar y pegar tú un documento, el sistema busca entre todos tus documentos, extrae los fragmentos más relevantes para tu pregunta y los mete él solo en el prompt.
RAG tiene dos fases. Una de indexación (preparar tu documentación una vez) y otra de consulta (cada vez que preguntas).
Y por el camino aparecen tres piezas que conviene tener en el vocabulario:
Con eso, la consulta se convierte en geometría: tu pregunta también se convierte en vector, se compara con todos los fragmentos y se recuperan los más cercanos, aquellos que significan algo parecido, para inyectarlos en el prompt.
La búsqueda semántica.
A diferencia de buscar por palabras clave, encuentra lo relevante aunque tu pregunta no contenga ni una de las palabras del documento (es, de hecho, el mismo salto que dio Google en su día).
En la sesión vemos cómo montar y configurar todo el sistema con una base vectorial en Pinecone.
Un recorrido de cero a RAG funcionando, con una demo montada paso a paso:
Probablemente te reconozcas en alguno de estos perfiles:
Trabajas con mucha documentación y quieres que una IA sea capaz de responder sobre ella con precisión y citando la fuente. Esto es para ti.
Has oído hablar de embeddings, bases vectoriales o búsqueda semántica, te suenan a chino, y quieres que alguien te lo ordene (y si es con un ejemplo, mejor). Entonces, esto también es para ti.
Quieres montar tu propio buscador inteligente sobre tus notas, tus manuales o tu web, y no sabes por dónde empezar ni qué decisiones tomar. Esto sobre todo es para ti.
La sesión completa, con la demo paso a paso y el resto de sesiones grabadas de la Comunidad, está disponible para miembros.
🎥 La encontrarás a continuación.
Algunas de las preguntas que surgieron en la sesión, resumidas por si llegas buscando respuestas.
Depende, y normalmente no. RAG funciona muy bien cuando tienes mucha documentación; para un único documento, el contexto de los modelos actuales suele dar de sobra.
Las define el modelo de embedding, no tú. Tú eliges un modelo compatible, pero no las fijas a mano ni entrenas nada.
Porque son dos sistemas distintos: el que codifica el texto y la base que lo almacena. El modelo de embedding y el tamaño del vector tienen que coincidir en ambos lados; si no cuadran, da error.
Sí. Solo necesitas el componente que permita volcar varias entradas a la misma base documental. Para multimodal (imagen, audio, vídeo) la cosa depende de que el modelo de embedding lo soporte, pero el principio es el mismo.
En el montaje de la demo intervienen dos servicios externos: el modelo de embedding (de OpenAI), al que se le envía tu documentación para vectorizarla durante la indexación, y la base vectorial (Pinecone), que guarda esos vectores en su nube. Además, en cada consulta los fragmentos recuperados viajan al modelo dentro del prompt. Si la privacidad es crítica, la alternativa es montarlo todo en local (modelo de embedding, base vectorial y modelo de lenguaje) para que nada salga; y en cualquier caso, conviene revisar las condiciones del proveedor.
Sí. Le das tus documentos y enlaces sobre un tema y responde basándose en ellos: eso es, en esencia, un sistema RAG. (Y existen alternativas open source si quieres montarte algo parecido en local.)