1 00:00:09,679 --> 00:00:15,660 Buenas, esto es BIMPRAXIS, el podcast donde el 2 00:00:15,660 --> 00:00:17,719 BIM se encuentra con la inteligencia artificial. 3 00:00:20,219 --> 00:00:23,480 Exploramos la ciencia, la tecnología y el futuro 4 00:00:23,480 --> 00:00:26,460 desde el enfoque de la arquitectura, ingeniería y 5 00:00:26,460 --> 00:00:27,120 construcción. 6 00:00:28,679 --> 00:00:29,440 ¡Empezamos! 7 00:00:36,880 --> 00:00:41,100 Muy buenas, bienvenidas y bienvenidos al episodio 46 8 00:00:41,100 --> 00:00:42,939 del podcast de BIMPRAXIS. 9 00:00:43,280 --> 00:00:46,740 Continuamos con nuestra serie sobre herramientas open source 10 00:00:46,740 --> 00:00:47,579 gratuitas. 11 00:00:47,840 --> 00:00:49,719 Y hoy os traemos algo que la verdad 12 00:00:49,719 --> 00:00:50,840 es una pasada. 13 00:00:51,039 --> 00:00:54,740 Vamos a analizar una herramienta llamada unstructured .io. 14 00:00:55,479 --> 00:00:57,960 Imaginad por un momento todo el conocimiento que 15 00:00:57,960 --> 00:00:58,759 acumula una empresa. 16 00:00:59,399 --> 00:01:03,520 Informes en PDF, presentaciones, documentos de Word, correos… 17 00:01:03,520 --> 00:01:04,819 Es un mar de datos. 18 00:01:05,060 --> 00:01:07,260 El problema es que la mayor parte está, 19 00:01:07,420 --> 00:01:09,299 como se dice, desestructurado. 20 00:01:09,379 --> 00:01:11,180 O sea que es un caos para que 21 00:01:11,180 --> 00:01:13,000 una inteligencia artificial lo entienda. 22 00:01:13,219 --> 00:01:16,680 Hoy vamos a ver cómo unstructured .io busca 23 00:01:16,680 --> 00:01:17,819 solucionar justo eso. 24 00:01:17,840 --> 00:01:18,739 Vamos allá. 25 00:01:19,200 --> 00:01:19,760 Exacto. 26 00:01:19,780 --> 00:01:22,859 El objetivo es convertir ese caos de datos 27 00:01:22,859 --> 00:01:24,939 en un recurso que de verdad aporte valor. 28 00:01:25,180 --> 00:01:28,980 Y veremos cómo esta herramienta, unstructured, sirve de 29 00:01:28,980 --> 00:01:30,739 base para una tecnología que está en boca 30 00:01:30,739 --> 00:01:32,719 de todos, que se llama RAG. 31 00:01:32,900 --> 00:01:35,939 Esta tecnología permite que las IAs respondan preguntas 32 00:01:35,939 --> 00:01:38,599 usando información privada y actualizada de una empresa. 33 00:01:38,819 --> 00:01:41,299 Y, muy importante, de forma segura. 34 00:01:41,599 --> 00:01:44,140 Bien, pues vamos a desgranar todo esto. 35 00:01:44,400 --> 00:01:47,439 Para empezar, yendo al grano, ¿qué es exactamente? 36 00:01:48,260 --> 00:01:49,780 Unstructured, por lo que he visto en las 37 00:01:49,780 --> 00:01:51,799 fuentes, es un proyecto de código abierto que 38 00:01:51,799 --> 00:01:54,219 ya tiene más de 50 millones de descargas. 39 00:01:54,920 --> 00:01:55,400 Correcto. 40 00:01:55,400 --> 00:01:56,700 No es algo pequeño, para nada. 41 00:01:56,920 --> 00:01:59,400 Su función principal es, a mí me gusta 42 00:01:59,400 --> 00:02:01,000 llamarlo, fontanería de datos. 43 00:02:01,819 --> 00:02:02,799 Fontanería de datos. 44 00:02:02,959 --> 00:02:03,480 Me gusta. 45 00:02:03,680 --> 00:02:06,400 Sí, porque coge documentos de cualquier tipo, de 46 00:02:06,400 --> 00:02:06,579 verdad. 47 00:02:06,739 --> 00:02:11,259 Un PDF, un .docx, un HTML, incluso imágenes. 48 00:02:11,539 --> 00:02:12,719 Y los procesa. 49 00:02:12,840 --> 00:02:16,120 Extrae el texto, las tablas, los títulos, todo. 50 00:02:16,340 --> 00:02:17,819 Y lo convierte en un formato de documento. 51 00:02:17,819 --> 00:02:19,680 Un formato limpio y estructurado, que suele ser 52 00:02:19,680 --> 00:02:20,020 JSON. 53 00:02:20,400 --> 00:02:22,379 Y este es el primer paso, el que 54 00:02:22,379 --> 00:02:25,439 es indispensable para que las IAs puedan, digamos, 55 00:02:25,620 --> 00:02:27,080 leer y entender esa información. 56 00:02:27,680 --> 00:02:29,539 Y esto nos lleva a las siglas que 57 00:02:29,539 --> 00:02:30,319 has mencionado antes. 58 00:02:30,819 --> 00:02:31,139 RAG. 59 00:02:31,280 --> 00:02:32,340 ¿Qué es exactamente? 60 00:02:32,800 --> 00:02:37,099 Pues RAG son las siglas de Retrieval Augmented 61 00:02:37,099 --> 00:02:41,360 Generation, o en español, Generación Aumentada por Recuperación. 62 00:02:41,520 --> 00:02:43,960 Es una técnica que soluciona uno de los 63 00:02:43,960 --> 00:02:46,180 mayores problemas de los grandes modelos de lenguaje, 64 00:02:46,319 --> 00:02:47,800 los LLM. 65 00:02:47,819 --> 00:02:50,360 Que su conocimiento es estático, ¿no? 66 00:02:50,400 --> 00:02:51,620 Se queda obsoleto. 67 00:02:51,680 --> 00:02:52,120 Justo. 68 00:02:52,300 --> 00:02:55,099 Se queda obsoleto y, sobre todo, no tienen 69 00:02:55,099 --> 00:02:56,360 acceso a datos privados. 70 00:02:56,780 --> 00:02:59,460 RAG lo que permite es que cuando alguien 71 00:02:59,460 --> 00:03:02,039 hace una pregunta, el sistema busque la información 72 00:03:02,039 --> 00:03:04,680 más relevante en una base de datos privada. 73 00:03:04,740 --> 00:03:07,099 Una base de datos creada con los documentos 74 00:03:07,099 --> 00:03:08,520 que ha procesado Unstructured. 75 00:03:08,900 --> 00:03:09,439 Exacto. 76 00:03:09,479 --> 00:03:12,259 Y le entrega esos trocitos de información al 77 00:03:12,259 --> 00:03:14,979 LLM en ese momento para que construya la 78 00:03:14,979 --> 00:03:15,240 respuesta. 79 00:03:15,419 --> 00:03:17,199 El ejemplo del material es muy claro. 80 00:03:17,199 --> 00:03:18,439 Ah, sí, el de Twitter. 81 00:03:18,719 --> 00:03:18,960 Claro. 82 00:03:19,159 --> 00:03:21,819 Un chatbot sin RAG podría decirte que Twitter 83 00:03:21,819 --> 00:03:24,819 todavía existe, mientras que uno con RAG, conectado, 84 00:03:24,819 --> 00:03:26,860 por ejemplo, a Wikipedia, sabría que ahora se 85 00:03:26,860 --> 00:03:27,319 llama X. 86 00:03:27,639 --> 00:03:29,879 En uno de los seminarios web que hemos 87 00:03:29,879 --> 00:03:32,180 analizado, comentan algo que me ha llamado la 88 00:03:32,180 --> 00:03:32,460 atención. 89 00:03:33,340 --> 00:03:36,580 Mencionan que ha habido rumores sobre que el 90 00:03:36,580 --> 00:03:37,840 RAG está muerto. 91 00:03:37,979 --> 00:03:38,599 ¿Es así? 92 00:03:38,860 --> 00:03:40,439 Uf, ese es el gran mito. 93 00:03:40,479 --> 00:03:43,460 Las fuentes lo desmienten, pero vamos, categóricamente. 94 00:03:43,639 --> 00:03:44,599 Ya me imaginaba. 95 00:03:44,759 --> 00:03:46,500 No solo no está muerto, sino que está 96 00:03:46,500 --> 00:03:47,180 empleado. 97 00:03:47,199 --> 00:03:47,939 Es una plena expansión. 98 00:03:47,979 --> 00:03:50,620 Es que, a ver, se cita una previsión 99 00:03:50,620 --> 00:03:53,180 de Grandview Research que proyecta un crecimiento anual 100 00:03:53,180 --> 00:03:54,939 de casi el 40 % hasta 2030. 101 00:03:55,460 --> 00:03:56,280 ¿Una barbaridad? 102 00:03:56,500 --> 00:03:59,379 Es que hablamos de un mercado que alcanzaría 103 00:03:59,379 --> 00:04:01,500 más de 10 mil millones de dólares. 104 00:04:01,860 --> 00:04:03,500 O sea que no está muerto. 105 00:04:03,840 --> 00:04:05,900 ¿Y por qué es tan popular en el 106 00:04:05,900 --> 00:04:06,639 mundo de la empresa? 107 00:04:06,939 --> 00:04:08,680 ¿Qué es lo que ven en esta tecnología? 108 00:04:09,560 --> 00:04:11,800 Pues la razón principal, y esto es clave, 109 00:04:11,900 --> 00:04:12,719 es la seguridad. 110 00:04:13,240 --> 00:04:16,019 Ah, no tanto el tener los datos actualizados. 111 00:04:17,199 --> 00:04:17,819 Eso es el gancho. 112 00:04:17,819 --> 00:04:19,720 Pero lo de fondo es la seguridad. 113 00:04:20,420 --> 00:04:21,300 Piensa en esto. 114 00:04:21,420 --> 00:04:24,339 Si una empresa reentrenara un modelo de inteligencia 115 00:04:24,339 --> 00:04:27,519 artificial con todos sus datos sensibles, de finanzas 116 00:04:27,519 --> 00:04:30,240 o de recursos humanos, sería un desastre. 117 00:04:30,860 --> 00:04:32,740 Destruiría todos los controles de acceso. 118 00:04:33,079 --> 00:04:35,480 Con RAG, los datos se quedan en la 119 00:04:35,480 --> 00:04:36,759 base de datos de la empresa. 120 00:04:36,899 --> 00:04:37,779 No salen de ahí. 121 00:04:38,079 --> 00:04:41,060 El sistema solo recupera los fragmentos que necesita 122 00:04:41,060 --> 00:04:42,300 para cada consulta. 123 00:04:42,300 --> 00:04:45,040 Y mantiene la trazabilidad y los permisos. 124 00:04:45,220 --> 00:04:47,180 De hecho, se habla del problema de... 125 00:04:47,199 --> 00:04:48,180 El problema es el espejo de control de 126 00:04:48,180 --> 00:04:48,399 acceso. 127 00:04:48,579 --> 00:04:50,500 La idea es que si un empleado no 128 00:04:50,500 --> 00:04:52,300 puede ver una carpeta en el sistema de 129 00:04:52,300 --> 00:04:55,540 origen, tampoco debería poder consultarla a través del 130 00:04:55,540 --> 00:04:56,120 sistema RAG. 131 00:04:56,220 --> 00:04:57,800 Claro, tiene todo el sentido. 132 00:04:58,079 --> 00:05:01,920 Entonces, ¿cómo funciona a grandes rasgos este proceso? 133 00:05:02,420 --> 00:05:04,439 Pues tiene dos fases principales. 134 00:05:04,939 --> 00:05:07,660 Primero, una fase que llaman offline, que es 135 00:05:07,660 --> 00:05:08,620 la de preparación. 136 00:05:08,740 --> 00:05:12,379 Ahí es donde Unstructured procesa los documentos, los 137 00:05:12,379 --> 00:05:14,300 divide en fragmentos, los chunks... 138 00:05:14,300 --> 00:05:15,660 Y los convierte en vectores. 139 00:05:16,019 --> 00:05:16,639 Eso es. 140 00:05:17,199 --> 00:05:18,759 En representaciones matemáticas. 141 00:05:18,959 --> 00:05:20,860 Y los carga en una base de datos 142 00:05:20,860 --> 00:05:21,420 vectorial. 143 00:05:21,740 --> 00:05:24,199 Y luego está la segunda fase, la online, 144 00:05:24,500 --> 00:05:26,000 que es cuando alguien pregunta. 145 00:05:26,379 --> 00:05:28,459 Ahí se busca en esa base de datos 146 00:05:28,459 --> 00:05:31,120 los fragmentos más relevantes para responder. 147 00:05:31,459 --> 00:05:31,879 Vale. 148 00:05:31,899 --> 00:05:33,740 Y aquí es donde la cosa se pone 149 00:05:33,740 --> 00:05:34,839 realmente interesante. 150 00:05:35,120 --> 00:05:37,600 Porque las fuentes hablan de una evolución. 151 00:05:38,000 --> 00:05:40,560 Parece que no todos los sistemas RAG son 152 00:05:40,560 --> 00:05:41,079 iguales. 153 00:05:41,079 --> 00:05:43,800 Se empieza por un RAG ingenuo y se 154 00:05:43,800 --> 00:05:46,259 puede llegar a algo que llaman RAG agéntico. 155 00:05:47,199 --> 00:05:47,560 Exacto. 156 00:05:47,579 --> 00:05:50,699 El RAG básico, o ingenuo, es un proceso 157 00:05:50,699 --> 00:05:51,259 lineal. 158 00:05:51,660 --> 00:05:53,600 Busca, recupera y genera. 159 00:05:53,800 --> 00:05:54,319 Punto. 160 00:05:54,319 --> 00:05:55,560 Tiene una sola oportunidad. 161 00:05:55,939 --> 00:05:58,180 Si la primera búsqueda no da buenos resultados, 162 00:05:58,459 --> 00:05:59,379 el sistema falla. 163 00:05:59,500 --> 00:06:02,019 Y supongo que no puede con tareas complejas. 164 00:06:02,300 --> 00:06:02,800 Para nada. 165 00:06:03,120 --> 00:06:05,980 No puede resolver algo que requiera múltiples pasos 166 00:06:05,980 --> 00:06:07,980 o consultar distintas fuentes de datos. 167 00:06:08,180 --> 00:06:10,360 El RAG agéntico es el siguiente nivel. 168 00:06:10,740 --> 00:06:12,839 Aquí, el modelo de IA no es solo 169 00:06:12,839 --> 00:06:13,819 un generador de texto. 170 00:06:13,959 --> 00:06:16,240 Es más bien un orquestador que razona. 171 00:06:16,300 --> 00:06:17,180 Un orquestador. 172 00:06:17,199 --> 00:06:17,759 Sí. 173 00:06:17,920 --> 00:06:20,800 Puede descomponer una pregunta compleja en subtareas. 174 00:06:20,860 --> 00:06:23,420 Puede elegir la herramienta adecuada para cada una. 175 00:06:23,600 --> 00:06:25,879 Buscar en la base de datos, consultar una 176 00:06:25,879 --> 00:06:27,980 API en tiempo real, hacer una búsqueda web. 177 00:06:28,079 --> 00:06:30,720 Y lo más importante, puede evaluar sus propios 178 00:06:30,720 --> 00:06:33,759 resultados y autocorregirse si falla en el primer 179 00:06:33,759 --> 00:06:34,279 intento. 180 00:06:34,540 --> 00:06:37,360 Es como la diferencia entre preguntarle a un 181 00:06:37,360 --> 00:06:40,680 bibliotecario por un libro concreto y encargarle a 182 00:06:40,680 --> 00:06:42,779 un asistente de investigación un informe complejo. 183 00:06:43,019 --> 00:06:45,139 Esa es la analogía perfecta. 184 00:06:45,199 --> 00:06:47,180 El asistente puede ir a la biblioteca. 185 00:06:47,199 --> 00:06:48,759 Buscar envases de datos online. 186 00:06:49,019 --> 00:06:50,699 Hacer llamadas si es necesario. 187 00:06:51,139 --> 00:06:51,779 Precisamente. 188 00:06:51,939 --> 00:06:55,379 Y bueno, existe todo un espectro de autonomía. 189 00:06:55,439 --> 00:06:58,660 Desde un simple enrutador, que solo dirige las 190 00:06:58,660 --> 00:07:01,379 preguntas a la fuente de datos correcta, hasta 191 00:07:01,379 --> 00:07:05,699 sistemas que llaman de enjambres multiagente, que colaboran 192 00:07:05,699 --> 00:07:07,980 para resolver tareas muy, muy complejas. 193 00:07:08,180 --> 00:07:08,819 Entendido. 194 00:07:09,040 --> 00:07:11,339 Entonces, volviendo a la herramienta principal. 195 00:07:11,920 --> 00:07:14,519 ¿Qué significa todo esto para alguien que quiera 196 00:07:14,519 --> 00:07:15,959 implementar estas soluciones? 197 00:07:17,199 --> 00:07:19,160 ¿Cómo le ayuda Unstructured a evitar lo que 198 00:07:19,160 --> 00:07:21,000 en las fuentes llaman, y me encanta la 199 00:07:21,000 --> 00:07:23,800 expresión, el nido de ratas del hazlo tú 200 00:07:23,800 --> 00:07:24,079 mismo? 201 00:07:24,360 --> 00:07:26,839 Es que la expresión es buenísima porque describe 202 00:07:26,839 --> 00:07:28,379 una realidad muy común. 203 00:07:28,540 --> 00:07:31,480 Ese nido de ratas es el caos que 204 00:07:31,480 --> 00:07:33,560 se produce cuando cada equipo de una empresa 205 00:07:33,560 --> 00:07:36,160 crea sus propias chapuzas para procesar datos. 206 00:07:36,420 --> 00:07:37,939 Claro, cada uno por su lado. 207 00:07:38,180 --> 00:07:41,160 Sin estandarización, sin seguridad, sin calidad. 208 00:07:41,639 --> 00:07:44,680 Unstructured lo que ofrece es una plataforma centralizada 209 00:07:44,680 --> 00:07:47,079 para gestionar todo ese proceso de ingesta y 210 00:07:47,079 --> 00:07:47,180 transferencia. 211 00:07:47,199 --> 00:07:50,939 Una especie de tubería única y robusta. 212 00:07:51,100 --> 00:07:51,540 Justo. 213 00:07:52,100 --> 00:07:54,899 Proporciona las herramientas para procesar decenas de tipos 214 00:07:54,899 --> 00:07:57,399 de archivos, y usa una estrategia que llaman 215 00:07:57,399 --> 00:08:00,660 de particionamiento de alta resolución, y luego aplica 216 00:08:00,660 --> 00:08:03,860 enriquecimientos con modelos de visión por lenguaje, los 217 00:08:03,860 --> 00:08:04,600 VLMs. 218 00:08:05,519 --> 00:08:06,040 ¿Enriquecimientos? 219 00:08:06,040 --> 00:08:07,379 ¿Qué tipo de cosas hace? 220 00:08:07,620 --> 00:08:09,860 Pues, por ejemplo, puede generar descripciones de las 221 00:08:09,860 --> 00:08:12,240 imágenes que hay en un documento, o mejorar 222 00:08:12,240 --> 00:08:14,639 la precisión del texto con OCR generativo. 223 00:08:14,720 --> 00:08:17,180 O, y esto es muy útil, convertir tablas 224 00:08:17,180 --> 00:08:17,180 en un documento. 225 00:08:17,199 --> 00:08:17,300 O, y esto es muy útil, convertir tablas 226 00:08:17,300 --> 00:08:20,120 complejas a un formato HTML limpio y fácil 227 00:08:20,120 --> 00:08:20,480 de usar. 228 00:08:20,620 --> 00:08:21,720 Suena muy potente. 229 00:08:22,019 --> 00:08:24,240 ¿Y todo esto se puede usar de forma 230 00:08:24,240 --> 00:08:24,779 sencilla? 231 00:08:25,079 --> 00:08:25,560 Sí. 232 00:08:25,660 --> 00:08:27,620 Las fuentes destacan dos formas de uso. 233 00:08:27,839 --> 00:08:30,259 Una es una interfaz de usuario muy visual, 234 00:08:30,399 --> 00:08:32,820 donde puedes arrastrar un archivo y ver los 235 00:08:32,820 --> 00:08:33,820 resultados en segundos. 236 00:08:34,460 --> 00:08:35,720 En la demo se ve con un PDF 237 00:08:35,720 --> 00:08:37,539 de una inmobiliaria y es una pasada. 238 00:08:37,720 --> 00:08:39,679 ¿Y la otra será para un uso más 239 00:08:39,679 --> 00:08:40,940 a gran escala, imagino? 240 00:08:41,340 --> 00:08:41,820 Exacto. 241 00:08:41,919 --> 00:08:44,220 Una API para integrarlo en flujos de trabajo 242 00:08:44,220 --> 00:08:45,320 de forma programática. 243 00:08:45,320 --> 00:08:47,659 Se encarga de todo el trabajo sucio para 244 00:08:47,659 --> 00:08:49,799 que los equipos de desarrollo puedan centrarse en 245 00:08:49,799 --> 00:08:51,740 construir los sistemas de IA, no en la 246 00:08:51,740 --> 00:08:52,360 fontanería. 247 00:08:52,460 --> 00:08:56,779 En resumen, entonces, Unstructured .io se posiciona como 248 00:08:56,779 --> 00:08:59,779 una pieza fundamental de código abierto para poner 249 00:08:59,779 --> 00:09:02,419 orden en el caos de los datos empresariales. 250 00:09:02,539 --> 00:09:05,639 Es como la infraestructura esencial que permite construir 251 00:09:05,639 --> 00:09:08,740 después sistemas de IA avanzados, como los de 252 00:09:08,740 --> 00:09:12,600 RAG y RAG agéntico, que pueden entender y 253 00:09:12,600 --> 00:09:14,899 utilizar el conocimiento interno de una organización. 254 00:09:15,320 --> 00:09:16,759 De forma segura y eficaz. 255 00:09:16,919 --> 00:09:18,240 Esa es la idea central, sí. 256 00:09:18,399 --> 00:09:20,639 Y aquí me gustaría dejar una reflexión final 257 00:09:20,639 --> 00:09:22,039 que se deriva de todo esto. 258 00:09:22,639 --> 00:09:23,080 Adelante. 259 00:09:23,220 --> 00:09:25,539 Hemos hablado de agentes de IA que usan 260 00:09:25,539 --> 00:09:26,860 datos para responder preguntas. 261 00:09:27,379 --> 00:09:29,659 Pero a medida que estos sistemas se vuelven 262 00:09:29,659 --> 00:09:31,840 más autónomos y son capaces no sólo de 263 00:09:31,840 --> 00:09:35,779 recuperar información, sino de ejecutar acciones, ¿qué nuevos 264 00:09:35,779 --> 00:09:38,179 desafíos de gobernanza y control surgirán? 265 00:09:38,440 --> 00:09:40,580 Quiero decir, ¿qué pasa cuando una IA no 266 00:09:40,580 --> 00:09:42,259 sólo puede leer todos los datos de una 267 00:09:42,259 --> 00:09:44,200 empresa, sino también actuar en base a ellos 268 00:09:44,200 --> 00:09:45,299 usando otras herramientas? 269 00:09:45,320 --> 00:09:46,740 Es algo en lo que pensar. 270 00:09:46,940 --> 00:09:49,779 Una pregunta muy potente para terminar, desde luego. 271 00:09:50,019 --> 00:09:52,080 Y con esto llegamos a la despedida. 272 00:09:52,179 --> 00:09:54,639 Como siempre, queremos recordaros que detrás de las 273 00:09:54,639 --> 00:09:58,059 voces sintéticas que escucháis en estos episodios, creadas 274 00:09:58,059 --> 00:10:00,460 gracias a la IA de Notebook LM, se 275 00:10:00,460 --> 00:10:01,519 encuentra un humano. 276 00:10:01,679 --> 00:10:05,419 Un humano con lóbulos auriculares, párpados y trompas 277 00:10:05,419 --> 00:10:06,879 de eustaquio, entre otras cosas. 278 00:10:07,559 --> 00:10:09,320 Concretamente, Julio Pablo Vázquez. 279 00:10:09,500 --> 00:10:11,820 Si detectáis algún error, casi seguro que es 280 00:10:11,820 --> 00:10:11,960 humano. 281 00:10:12,259 --> 00:10:14,379 Os esperamos en el próximo episodio. 282 00:10:25,750 --> 00:10:27,269 Y hasta aquí el episodio de hoy. 283 00:10:27,370 --> 00:10:29,190 Muchas gracias por tu atención. 284 00:10:38,639 --> 00:10:40,659 Esto es BIMPRAXIS. 285 00:10:40,899 --> 00:10:43,440 Nos escuchamos en el próximo episodio.