Sospechosos habituales · 12 oct 2026 · 28:40
Escucha en la app Podli 🎧
Sigue tus pódcasts favoritos, escucha sin conexión y en el coche con CarPlay y Android Auto, y continúa siempre donde lo dejaste. Pruébala gratis.
Llevo más de 6.000 notas en Markdown acumuladas desde 2008, y siempre he estado convencido de que ahí estaba todo lo que he aprendido. Hasta que busco y no encuentro. Busco particiones y no aparece nada sobre redimensionar un volumen. Busco monitorización de red y mis notas hablan de ntopng e iftop sin usar esas palabras. El conocimiento estaba ahí, pero yo no sabía que estaba.
En el episodio 837 te conté la teoría del GraphRAG. En este 839 vamos a lo práctico, a convertir esas 6.000 notas en un grafo de conocimiento con IA 100 % local, sin nube, sin claves API y sin que ninguna nota salga de tu equipo.
Lo primero es el chunking, trocear cada nota en ideas autónomas. Y no se trocea por número de caracteres, sino por estructura. Cada sección o subcapítulo es un fragmento, el frontmatter se separa como metadatos, los bloques de código viajan enteros y lo que baja de 50 caracteres se descarta. Trocear por caracteres solo rompe un bloque de código o una lista justo por la mitad.
Después viene el NER (Named Entity Recognition), que convierte texto libre en entidades con etiqueta, tipo y confianza. Uso llama3.2:3b con Ollama y solo conservo lo que supera 0,5 de confianza. Prefiero perder una entidad dudosa antes que llenar el grafo de ruido, porque un grafo con ruido no te sirve.
Con eso se construyen nodos y aristas. La nota es el documento entero, la entidad puede ser Nginx, Certbot o SSL, y las etiquetas salen de las carpetas y del frontmatter. Hay cuatro tipos de arista y cada una lleva su peso. La co-ocurrencia usa el mínimo de las dos confianzas, no la media.
Para construir todo esto ejecutas graphrag build. No empieza de cero, cada nota guarda un hash SHA256 y solo reprocesa lo que ha cambiado. En mi caso encontró 6.333 archivos y le faltaban 81, unos seis minutos, con cuatro hilos y un único escritor sobre SQLite. Y luego están las comunidades, la visión global. El algoritmo Leiden agrupa los conceptos muy conectados entre sí, porque los amigos de mis amigos tienden a formar un grupo.
Todo esto es graphrag-search, un único binario en Rust que instalas con cargo install graphrag-search. Ni Python, ni NPM, ni servidores. Con dos modelos pequeños de Ollama, bge-m3 para embeddings y llama3.2:3b para el NER, tienes tu propio cerebro conectado para encontrar episodios y conceptos relacionados.
Capítulos del episodio:
0:00 - Introducción: convertir 6.000 notas en un cerebro conectado
2:45 - Qué veremos hoy y la trilogía GraphRAG
4:20 - Chunking: trocear las notas en ideas autónomas
7:50 - NER: extraer entidades con un modelo local
7:50 - NER: extraer entidades con un modelo local
11:20 - Etiqueta, tipo y confianza: qué guardamos de cada entidad
13:50 - Nodos y aristas: conectar tus notas con semántica
17:10 - Construir el grafo con graphrag build
20:20 - SQLite e incrementalidad: el grafo que se actualiza solo
24:10 - Comunidades con el algoritmo Leiden
27:00 - Cierre y avance del siguiente episodio
Más información y enlaces en las notas del episodio
Episodios: Sospechosos habituales