Subiste un documento a ChatGPT... ¿y ahora qué?
Me metí en el mundo técnico de RAG (y te lo explico con recetas de la abuela... en serio)
Seguro ya probaste subir tus PDFs, un Excel o esa presentación de 478 diapositivas que te pidió tu jefe para ayer.
Si le creemos al departamento de marketing de tu empresa de IA favorita, tu asistente debería "leer" todos tus documentos y responder cualquier pregunta, como si fuera un estudiante de PhD…
Yo también he subido de todo, desde el manual de mis parlantes, varios libros de ajedrez, documentos de negocios gigantes llenos de gráficas y tablas, hasta alguno que otro post de AprendiendoIA en PDF, sólo por diversión ;)
Te diría que siempre funciona, pero… no es así, a veces falla, y hoy quiero hablar un poco de eso.
Pero antes de empezar, ¿sabías que todo este proceso, donde la IA “lee” los documentos que subes, y te responde, tiene nombre y apellido en el mundo de la inteligencia artificial?
Se llama RAG, una forma corta (y cool) de decir Retrieval-Augmented Generation, que en castellano vendría a ser algo como Generación aumentada por recuperación, o si quieres que lo ponga aún más en castellano, dar respuestas con la información encontrada.
Y bueno, todas esas (exageradas) promesas que te vendió ese equipo de marketing tienen que ver con cómo funciona RAG.
¿Qué hace la IA con tu documento?
¿La IA lee cada palabra? ¿Se acuerda de todo? ¿Hace un resumen mental o solo agarra partes de aquí y allá?
Quiero contarte lo que descubrí (with a twist): voy a tratar de explicártelo con una historia de abuelitas y recetas.
Imagina una máquina de IA alimentada con las recetas de la abuela
Hace años que vengo conversando con mi abuelita para que me de sus recetas incluyendo el pavo de navidad (relleno, por supuesto), la lasagna, el seco con frejoles, el cau cau; hasta esos tamalitos verdes que toman una eternidad en prepararse (pero que valen su peso en oro).
Ahora, hagámoslo más divertido, imagina que en vez de usar ChatGPT, tengo una máquina de IA en la que quiero meter toda esa sabiduría y sazón para tener el recetario de mi abuela siempre a la mano.
Aquí empieza el caos culinario.
¿Qué pasa realmente cuando subes un documento?
OK, entonces tengo ChatGPT la máquina y lo primero tengo que hacer es subir todas las recetas.
Esta máquina no va a leerlas todas como lo haría un humano, lo que va a hacer es separar cada receta en un montón de pedacitos pequeños, como si pasara todo por una trituradora de papeles.
Así, cada pedacito quedará con un poco de información, uno tendrá "agrega sal al gusto", otro dice "no olvides poner el ají panca", otro solo tiene "1 taza de pimientos licuados". Y para hacerlo aún más divertido, la máquina le pone a cada pedacito una etiqueta de color según su significado. Los que hablan de ingredientes parecidos tendrán colores parecidos, los de tiempos de cocción otros colores.
A esos pedacitos con sus etiquetas, se les conoce como embeddings, y es la forma que tiene nuestra máquina de encontrar cosas después.
Entonces, cuando tienes una duda como “¿qué más llevaba el asado?”, la máquina busca entre todos esos pedacitos los que se parecen más a lo que preguntaste. A veces acierta y te da justo el secreto. Otras veces, termina sacando instrucciones que no deberías seguir, tipo “agrega 4 litros de jugo de papaya…”
Y si tienes muchas recetas, y además son muy largas (como la de los tamalitos), hay pedacitos que ni siquiera entran en la memoria de la máquina. Así que, cuando le pides ayuda, puede que termine rellenando los huecos con su mejor intento, o peor, mezclando distintas recetas… Podría terminar fusionando la receta del helado de lúcuma con la salsa de carne, y créeme que no quieres ni helado de carne, ni fideos con lúcuma.
Por eso, así subas la colección más completa de recetas, las respuestas de la IA siempre dependerán de cómo corta, etiqueta y busca entre el desorden de pedacitos que tiene guardados.
¿Me sigues hasta ahí? Ya sabes que la próxima vez que la IA te dé una respuesta rara, probablemente te haya tocado una “receta fusión”.
La máquina que se "olvida" de las recetas
Nuestra máquina de recetas tiene otro problema: se olvida de partes importantes.
Esto pasa porque, aunque le hayas metido toda la colección de recetas de la abuela, la máquina solo puede tener algunos pedacitos en su memoria al mismo tiempo.
Digamos que nuestra máquina tiene una memoria algo pequeña. Ventana de contexto, es como le llaman a esto los técnicos. Básicamente, es el espacio que tiene la máquina para mirar los pedacitos al mismo tiempo y tratar de armar una respuesta coherente.
Si le preguntas algo sobre el relleno del pavo, pero ese pedacito justamente no pudo entrar en la máquina, la IA va a tratar de hacer lo que puede con lo que tiene a la mano. Tal vez te responda mezclando pasos de otras recetas, o se ponga creativa y se invente una receta nueva. Como cuando tú tratas de improvisar en la cocina (aunque puedo asegurarte que a ti te sale mejor).
¿Por qué la máquina termina haciendo ‘fusión’ con las recetas?
Mi mamama tiene miles de recetas 😍. Si quiero meterlas todas, como ya sabemos, lo que hará la máquina será cortarlas en pedacitos y cuando busque respuestas, podría pasar que mezcle pedacitos de diferentes recetas sin importarle que vengan de platos completamente distintos.
¿Por qué lo hace? Porque la máquina busca por similitud de significado, no por lógica de documento. Si preguntas sobre “Pollo a la brasa”, va a buscar todos los pedacitos que hablen de cosas parecidas, sin importarle si uno viene de la sopa de pollo, el otro del pulpo a la parrilla y otro de los tamalitos. Para la máquina, todos son parecidos, según sus etiquetas de color.
Así que cuando le pides “¿cuánto tiempo tengo que hornear esto?”, la máquina busca el papelito que más se parece… pero ese papelito puede venir del panetón, del pavo o del pollo al horno.
No es lo que quieres cuando tienes invitados a cenar.
Una estrategia para evitar respuestas de fusión experimental, es subir solo las recetas que necesitas para tu pregunta, o decirle a la máquina exactamente cuál receta te interesa (“Solo háblame del seco con frejoles, por favor”).
Ahora que entiendes cómo funciona su sistema de búsqueda, ya sabes por qué a veces puede salirte una receta digna de concurso… de desastres culinarios.
¿Cómo encuentra la máquina la receta que le pides? (y por qué a veces no)
Cuando le preguntas a la máquina "¿cómo era el relleno del pavo?", no busca solo un pedacito entre todas las recetas de la abuelita. Más bien, empieza a buscar varios fragmentos que tengan algo en común con tu pregunta.
Imagina que lanzas tu pregunta y todos los pedacitos con palabras parecidas ("relleno", "hornear", "pavo") responden "¡aquí estoy!". La máquina junta esos fragmentos, los ordena y, con lo que tiene disponible, intenta armar la respuesta.
Si quieres mejores resultados, sé súper específico. En vez de preguntar "¿cómo cocino la carne?", mejor pregunta "¿cuál es el tiempo exacto de horneado para el pavo relleno?". Mientras más detalles le des, mejor puede buscar entre los pedacitos correctos.
¿De dónde salen esas recetas que no son de la abuela?
Hay días en que la máquina te contesta con una "receta" que nadie en la familia reconoce. Es más, si tu abuelita la viera, te sacaría amablemente de la cocina (y no te dejaría regresar... nunca más).
¿Por qué pasan estas tragedias culinarias?
Cuando la máquina busca y no encuentra ningún pedacito que encaje bien con tu pregunta, en vez de quedarse callada... rellena los huecos usando cualquier cosa que tenga disponible, o peor, se inventa algo en el momento.
Es como ese primo que quiere ayudar y se saca de la manga "la receta secreta de arroz con mayonesa de fresa". Nadie la pidió, nadie la quiere.
Esto, en el mundo de la inteligencia artificial, se llama "alucinación". La máquina inventa recetas nuevas, sólo porque odia admitir que no tiene la respuesta.
Volviendo a la vida real
Si llegaste hasta aquí, seguro ya notaste que la máquina de recetas de mi abuela era solo una metáfora para explicar lo que realmente pasa cuando subes archivos a una IA como ChatGPT (o cualquier otro asistente moderno).
Cuando subes un documento, la IA no lo "lee" de principio a fin como haría una persona. Lo que hace es cortarlo en muchos pedacitos (esto se llama tokenización).
Luego transforma cada pedacito en una especie de etiqueta matemática especial (embedding) para poder buscarlo más rápido después.
El problema es que la IA tiene espacio limitado: solo puede procesar una cantidad limitada de pedacitos a la vez (la famosa ventana de contexto). Si tu documento es grande, muchos fragmentos se quedan fuera cuando haces preguntas.
Cuando le preguntas algo, la IA compara tu pregunta con los pedacitos que tiene disponibles. Selecciona los más parecidos y trata de armar una respuesta.
¿Resultado?
Pregunta clara + pedacito relevante = respuesta acertada
Varios pedacitos parecidos de contextos distintos = respuesta "fusión"
No encuentra nada exacto = inventa una respuesta (alucinación)"
Por eso, aunque la IA suene muy segura, no está consultando todo tu archivo como lo haría un experto humano: está armando la respuesta con los pedacitos más parecidos que pudo encontrar, según su propio sistema de organización.
En resumen:
No le estás dando “memoria infinita”. Tu archivo se parte y solo una parte entra realmente en juego.
La IA busca parecido, no certeza. Por eso a veces acierta, a veces mezcla, y a veces inventa.
Siempre revisa la fuente si la respuesta te suena rara, y sé específico al preguntar para ayudarle a encontrar el pedacito correcto.
Y sí, por más que avancen los modelos, a veces el toque de la abuela sigue siendo insuperable (y mucho más confiable).
Espero que te hayas divertido con este post. Tal vez hayas aprendido algo nuevo, o al menos conseguí que tengas hambre y antojo de comida Peruana.
Nos vemos, me voy a almorzar!
G
Nota: Tal vez no estás familiarizado con mucha de la comida que menciono aquí… son platos peruanos, si nunca los has probado, te recontra recomiendo que lo hagas, estoy seguro que te van a encantar. –Aunque seguramente nunca sean tan ricos como los que hace mi mamama ❤️.
Excelente información! Pero también deberías compartir el recetario de tu mamama ☺️
Muy bueno!