Capítulo 10 de 20 9 secciones 11 min

Compartir

Cómo hacer que la IA lea tus papeles

Qué es RAG contado sin código: por qué el modelo no sabe nada de tu empresa, cómo se le enseña, y dónde falla.

RAG es hacer que la IA busque en tus documentos antes de contestar, en vez de contestar de memoria. El modelo no sabe nada de tu empresa y no hay forma de que lo sepa, así que se le pega el pedazo de documento que hace falta junto con la pregunta. Las siglas son de retrieval augmented generation y la idea entera cabe en una frase: buscar primero, escribir después 📄

Por qué no sabe nada de tu empresa, y no es un defecto

Esto frustra a todo el mundo la primera semana. Le preguntas al chat por la política de descuentos de tu empresa y contesta una cosa razonable, bien redactada y completamente inventada.

No es un error del modelo. Es que tu información nunca estuvo ahí. En el capítulo 4 vimos que un modelo aprendió de un montón de texto público, y tus contratos, tus precios y tus correos no son texto público. Menos mal.

Y lo peor de esa combinación ya lo conoces del mismo capítulo: no dice "no sé". Rellena. Así que la pregunta correcta no es cómo hacer que el modelo se entere, sino cómo ponerle tu información delante en el momento exacto 🐣

La idea entera, en una frase

Buscar primero, escribir después.

Es literalmente eso. Cuando alguien pregunta algo, antes de que el modelo abra la boca, el sistema busca en tus documentos los pedazos que tengan que ver con la pregunta. Después le pasa al modelo esos pedazos junto con la pregunta, y le dice: contesta usando esto.

El modelo deja de contestar de memoria y pasa a contestar de lectura. Es la diferencia entre un examen a libro cerrado y uno a libro abierto, y cambia el resultado igual que lo cambia en un examen 📄

El circuito de RAG: alguien pregunta, se busca en los documentos por significado, vuelven los trozos que más se parecen y el modelo escribe usando esos trozos; a un lado, las dos formas de fallar
Buscar primero, escribir después. Las dos ramas de puntos son las dos formas en que esto falla, y las dos son de búsqueda: que no encuentre lo que sí está, o que traiga cualquier cosa y el modelo la use igual.

A eso se le llama RAG. Las siglas vienen del inglés, retrieval augmented generation, generación aumentada por recuperación, y son horribles pero te las vas a encontrar en todas las propuestas. Si alguien te ofrece "un chatbot con tus documentos", esto es lo que está vendiendo.

Los documentos hay que partirlos

Acá viene lo primero que no es obvio.

No se le pasa el contrato entero. Ni siquiera se le pasan los diez contratos que podrían servir. Cabe poco: lo que el modelo puede leer de una vez tiene un tope, que es la ventana de contexto del capítulo 5, y además cuanto más le pasas, más cuesta cada respuesta.

Así que los documentos se parten en pedazos. Un par de párrafos cada uno, más o menos. En inglés a eso le dicen chunking y a los pedazos chunks, y en las propuestas te lo van a escribir así.

Y ahí se decide medio proyecto, aunque no lo parezca. Si el corte cae en mal sitio, la respuesta se parte por la mitad. Imagina una cláusula que dice "el plazo será de 30 días" y el corte cae justo antes de "salvo para clientes del sector público, que será de 60". El sistema encuentra el pedazo, contesta 30 días con toda la seguridad del mundo, y se dejó fuera la excepción que importaba.

Por eso el trabajo aburrido de este tipo de proyecto no es la IA. Es ordenar los documentos antes.

Cómo encuentra el pedazo correcto

Si buscara por palabra exacta, esto no serviría de mucho. Alguien pregunta "¿cuánto tiempo tengo para reclamar?" y en el contrato dice "el plazo de subsanación será de quince días hábiles". Cero palabras en común, y es exactamente lo que quería.

Lo que se hace es buscar por significado. Cada pedazo se convierte en una lista de números que representa de qué habla, y la pregunta se convierte en otra lista igual. Después se comparan y ganan las más parecidas.

Esa lista de números se llama embedding, y el sitio donde se guardan todas se llama base de datos vectorial. Las dos palabras van a estar en la propuesta que te llegue. Lo que tienes que retener es que sirven para buscar por parecido de sentido y no por letra, y que por eso el sistema puede encontrar la cláusula aunque nadie haya escrito nunca la palabra "reclamar" 🔍

Si te interesa cómo se construyen esos números por dentro, lo tienes en el libro de deep learning, con el código ejecutado. Acá no hace falta.

Las dos formas en que falla

Y las dos son de búsqueda, no de escritura. Esto es lo más útil de todo el capítulo, porque es lo que te deja diagnosticar sin ser técnica.

Falla uno: no encuentra lo que sí está. El documento está cargado, la respuesta está adentro, y aun así no aparece. Pasa cuando la pregunta se escribió muy distinta de como está redactado el documento, o cuando el corte dejó la respuesta partida en dos pedazos y ninguno de los dos, solo, se parece a la pregunta.

Se nota así: preguntas algo que sabes que está y contesta que no tiene esa información, o contesta una parte.

Falla dos: siempre devuelve algo. Este es más traicionero. La búsqueda no dice "no hay nada parecido": devuelve lo más parecido que encontró, aunque lo más parecido sea bastante poco parecido. Y el modelo recibe eso y contesta con eso, porque le dijeron que contestara con lo que le llegara.

Se nota así: preguntas por algo que no está en ningún documento y en vez de decir "no lo tengo", contesta una cosa razonable armada con el pedazo más cercano.

Los dos fallos tienen la misma prueba y la puedes pedir tú antes de firmar: una lista de veinte preguntas cuya respuesta sabes, y cinco cuya respuesta sabes que no está. Las veinte primeras miden si encuentra. Las cinco últimas miden si sabe callarse. De eso va el capítulo que sigue.

Lo que esto te ahorra y lo que no

Te ahorra que el modelo invente sobre tu empresa, que es el problema número uno de todos.

No te ahorra el trabajo de tener la información escrita. Volvemos a la trampa del capítulo anterior: si la regla del descuento vive en la cabeza del jefe de ventas, no hay RAG que la encuentre. Lo que no está escrito no se puede buscar, y ningún proveedor te va a decir esto en la reunión de venta.

Tampoco te ahorra ordenar. Cuatrocientos PDF con nombres como contrato_final_v3_ESTE.pdf, tres versiones distintas del mismo acuerdo y ninguna marcada como la vigente son cuatrocientos PDF que van a producir respuestas contradictorias, y con toda la seguridad del mundo.

Es un proyecto de orden con una capa de IA encima, no al revés 🗂️

Practica 💪

Cinco casos. Todos son de diagnóstico, que es lo que te va a tocar de verdad: el sistema ya está y algo no funciona 🐣

1. El que contesta bien y de pronto no

El asistente responde bien las preguntas de precios, pero cuando alguien pregunta por el precio de un producto que se lanzó la semana pasada, contesta el precio de otro parecido. ¿Qué falta?

Cargar el documento nuevo. Esto es lo primero a descartar siempre, y es de lejos lo más común los primeros meses: alguien montó el sistema, funcionó, y nadie definió quién sube los documentos nuevos ni cada cuánto.

Y fíjate en lo feo del caso: no dijo "no tengo ese producto". Dio el precio de otro, que es el fallo dos. Un cliente puede irse con un precio equivocado y nadie se entera.

2. La cláusula que se partió

Preguntas por el plazo de un servicio y el sistema contesta 30 días. El contrato dice 30 días, salvo para el sector público, que son 60. ¿Cuál de los dos fallos es?

El uno, y del sabor peor: el corte. La excepción quedó en otro pedazo, y ese pedazo, solo, no se parecía a la pregunta "cuál es el plazo". Encontró el trozo correcto y le faltó su continuación.

La forma de cazarlo antes de que pase: probar con preguntas cuya respuesta tenga excepciones. Son las que rompen este tipo de sistema y casi nadie las prueba, porque en la demo se preguntan cosas fáciles.

3. La pregunta que no debía tener respuesta

Le preguntas al asistente de la empresa cuál es la política de teletrabajo. No existe tal política, nunca se escribió. El asistente contesta con una que suena muy sensata. ¿Qué pasó?

Fallo dos, de manual. La búsqueda devolvió lo más parecido que había, probablemente algo del reglamento interno sobre horarios, y el modelo armó una respuesta plausible encima.

Esto se arregla pidiendo explícitamente que conteste "no tengo esa información" cuando lo que encontró no responde. Suena obvio y hay que pedirlo: por defecto el sistema prefiere contestar algo antes que nada.

4. Los tres contratos que se contradicen

El sistema tiene cargadas tres versiones del mismo contrato con un cliente. Según a quién le preguntes el día que sea, contesta condiciones distintas. ¿Es un problema de IA?

No, y por eso es tan importante. Es un problema de gestión documental que existía antes y que nadie veía porque nadie leía los tres.

La IA no lo creó: lo hizo visible y lo puso a escala. Antes se equivocaba quien abría el archivo equivocado, y una vez. Ahora se equivoca en todas las consultas y con voz de sistema oficial.

5. La propuesta que llega mañana

Te ofrecen "un chatbot entrenado con los documentos de tu empresa". ¿Qué pregunta hace la diferencia?

Si van a entrenar algo o van a buscar. Casi siempre es lo segundo, o sea esto, y está muy bien: es más barato, se actualiza subiendo un archivo y se puede auditar porque puedes pedirle que diga de qué documento sacó cada cosa.

La palabra "entrenado" en esa frase suele ser marketing. Y conviene aclararlo porque cambia dos cosas que te importan: cuánto cuesta actualizarlo cuando cambie un precio, y si puedes saber de dónde salió cada respuesta.

Esa segunda pregunta, la de si puede citar la fuente, pídela siempre. Un sistema que dice de dónde sacó la respuesta se puede corregir. Uno que no, hay que creerle.

6. Los documentos que nadie quiere ordenar

Tu empresa quiere el asistente sobre 4.000 documentos de doce años. Nadie sabe cuáles siguen vigentes. ¿Por dónde empiezas?

Por muchos menos documentos. Elige los que se consultan de verdad, que suelen ser unas decenas, y arranca con esos. Un asistente que contesta bien sobre cuarenta documentos vigentes vale más que uno que contesta regular sobre cuatro mil, y encima el segundo se cae solo en la primera semana cuando alguien reciba una condición de 2019.

Y lo que hay que decir en voz alta cuando llegue el momento: el trabajo de decidir qué sigue vigente no lo puede hacer el proveedor ni la IA. Lo tiene que hacer quien conoce el negocio, y es de lejos la parte más cara del proyecto.

Lo que te llevas

  • El modelo no sabe nada de tu empresa y no hay forma de que lo sepa. RAG es ponerle tu información delante en el momento exacto.
  • La idea entera es buscar primero y escribir después. Examen a libro abierto en vez de a libro cerrado.
  • Los documentos se parten en pedazos, y si el corte cae en mal sitio la respuesta se parte con ellos.
  • La búsqueda es por significado y no por palabra exacta. Eso es lo que hacen los embeddings y la base vectorial.
  • Falla de dos formas y las dos son de búsqueda: no encuentra lo que está, o siempre devuelve algo aunque no venga al caso.
  • Pide la prueba de las veinte preguntas que sí tienen respuesta y las cinco que no. Es lo que separa una demo de un sistema.
  • Lo que tu empresa nunca escribió no se puede buscar. Es un proyecto de orden con una capa de IA encima.

Comprueba que se entendió

Comprueba que lo tienes

Tu empresa conecta un asistente a los 400 PDF de contratos. Alguien pregunta "¿qué contratos vencen en marzo?" y el asistente contesta con tres contratos que sí existen, pero se deja fuera otros cinco que también vencen en marzo. ¿Qué pasó, lo más probable?

  • La búsqueda le trajo solo unos cuantos trozos y el modelo contestó con lo que le llegó
  • El modelo se inventó los tres contratos
  • Los otros cinco contratos no estaban cargados
  • Hace falta un modelo más caro

Ya sabes cómo se le da a la IA lo que tu empresa escribió. El capítulo que sigue es sobre lo otro que necesita mirar: los sistemas donde tu empresa trabaja todos los días 🐥

¿Le sirve a alguien que conoces?

Pásale el libro. Es gratis, está entero y no pide registro 🐣

Instagram y TikTok no dejan compartir enlaces desde la web: esos dos copian la URL para que la pegues en tu historia.

¿Tienes alguna duda o consulta?