Ahora el blog tiene una lista de entradas relacionadas construida usando LLMs

He implementado las entradas relacionadas en el blog. Dos entradas están relacionadas cuando el producto escalar de sus embeddings es alto.

Así que en primer lugar he asociado a cada entrada un embedding. Las entradas son ficheros de markdown con un preámbulo en yaml. Los embeddings no están creados directamente sobre el texto bruto de la entrada sino sobre la entrada y algunos de los elementos, no todos, del preámbulo.

He usado el modelo text-embedding-004 de Google aunque no podría razonar muy convincentemente la decisión. Quise saber si hay algún tipo de embedding que funcione particularmente bien en español y no llegué a ninguna conclusión convincente. Hay algunos modelos de embedding que los buscadores mencionan cuando en tu búsqueda yuxtapones “embedding” y “español”, pero no sé si aparecen porque han sido entrenados primordialmente con textos en español, porque son particularmente buenos en español, o porque son cuñados de ALIA, MarIA y todas esas cosas hipersuperdupercomputercenterbarlenoniensis.

Sobre el producto escalar no voy a abundar.

El paquete python-frontmatter es muy útil para editar el preámbulo y añadirle extensiones no contempladas explícitamente en Hugo.

La parte más delicada del proceso es modificar la plantilla de Hugo para que muestre las entradas relacionadas. He seguido la que creo que es la vía del mínimo esfuerzo, consistente en:

  • Identificar otro componente del blog similar en aspecto y función: el widget de “últimas entradas publicadas”.
  • Copiárselo a Gemini y pedirle que lo transforme en otro que dé cuenta de las entradas relacionadas, que, para cada entrada, es una lista disponible en el preámbulo.
  • Copipegar la respuesta de Gemini en el lugar adecuado.
  • Realizar otros ajustes necesarios para concluir satisfactoriamente el proyecto, como activar el nuevo widget en la barra lateral (añadiendo su nombre a un vector en el fichero de configuración) y alguna otra modificación menor. Por supuesto, bajo la permanente guía de Gemini.

No lo clava siempre pero, en general, la evidencia circunstancial parece indicar que funciona bastante bien y que puede resultar útil.