Ia y Automatizaciones para artesanos y artesanas

IA y automatizaciones

¡¡Lo conseguí!!

Sé leer y escribir música, pero no soy músico.

Lo mismo me ocurre con la programación informática, que estudié hace 20 años (CFGS Desarrollo de Aplicaciones Informáticas) y puedo más o menos entender, pero no me pidas que escriba código. De todas formas, hoy en día ya no sirve de nada, el código lo escribe la IA.

Llevo relacionándome con la informática desde hace … da vergüenza … desde los 13 o 14 años y tengo 47 … ¿ 35 años ????

Pero siempre se ha basado en lo mismo: Que la máquina haga lo que yo quería que hiciera.

No soy especialista de nada, pero sé un poco de todo.

Soy experto, o mejor dicho, EXPERTÍSIMO en el ensayo y error, 35 años de experiencia equivocándome una vez tras otra, pero al final lo acabo consiguiendo.

Y sobre todo, no tengo ningún miedo a equivocarme. Por lo tanto, también soy experto en aprender.

La dichosa IA y las automatizaciones

Lo primero que tengo que decir sobre este tema es que ES ABRUMADOR!!!

Llevamos dos años de cosas nuevas en la informática y el sentimiento principal es de COLAPSO. Ni mis neuronas (por cierto, algo atrofiadas) ni mi tiempo (conciliación familiar) dan para poder seguir el ritmo y ni mucho menos estar al nivel «top».

Pero más allá de chatear con ChatGPT, tenía pendiente tocarle las tripas a la IA. Entender el cómo y el qué.

No hace falta que comente que desde que tenemos la IA nuestra manera de usar el ordenador ha cambiado. Ya no buscamos en Google (¡jódete Google!), sino que usamos la IA para que busque por nosotros. Y eso es … lo más sencillo. Ya sabes: genera imágenes, vídeos, redacta, etc… pero como dice mi tía: hasta que no hagan huevos fritos… eso no sirve para nada.

Bueno para nada…. ¿cuál es la función principal de la informática? Optimizar procesos, facilitarnos la vida en algunos aspectos. Hoy en día es en muchísimos aspectos. En mis inicios informáticos con 15 años era enseñar a mis profesores a usar WordPerfect 51 en MSDOS para poder redactar (almacenar, reproducir, modificar) exámenes o documentos de manera mucho más eficiente que con la máquina de escribir.

Función principal de la informática: Tratamiento automático de la información. La palabra informática es una combinación de Información y Automática (Karl Steinbuch, 1957 – https://es.wikipedia.org/wiki/Karl_Steinbuch).

Casi 70 años después, que tampoco son tantos, ya todo el mundo conoce el progreso de esta tecnología, en la que hoy en día estamos en la INTELIGENCIA ARTIFICIAL. Si se trata de automatización de la información el término es adecuado, pero no lo olvides, hablamos solo de información, no de otros tipos de inteligencia. La IA no tiene inteligencia emocional, ni empatía, ni sufre ni siente, aunque a veces hasta lo parezca.

Como decía, tenía pendiente tocarle las tripas a la IA, pero no estaba dispuesto, como nunca lo he estado, a darle mi dinero a los que más tienen contratando IA de pago para ChatGPT (OpenAI) o Claude (Anthropic) cuando además existen alternativas. Por eso tenía que utilizar tecnologías libres (mi profesión es Consultor TIC especializado en Software Libre y OpenSource).

Y ahí que Ollama acabó en mi ordenador. Por el camino además tuve que aprender Docker, en el que no estaba muy familiarizado. Ahora docker y yo ya nos llevamos un poco mejor.

Para quien no está en el sector no se puede ni imaginar lo «doloroso» que es todo este cambio. Ingeniería de prompts, LLMs, RAG Memoria Vectorial (saludos primo!!), Tokens y un montonazo de tecnologías y palabros nuevos en tan solo 2 años!!! Por no decir la enorme cantidad de software relacionado con ello. Como decía: ¡abrumador!

¡¡Lo conseguí!!!

Pero como buen tauro que soy (tenaz y cabezón) al final lo conseguí. Y lo orgulloso que se siente uno después de llevar casi un año pegándose hostias sin parar.

Docker, Ollama, N8N, Whisper, Postiz y la madre que los parió.

Sí sí, me he peleado con todos ellos, pero mucho muchísimo. Estoy de leer logs y de pasarle logs a la IA hasta la mismísima coronilla (que ya clarea, seguramente ayudado por todos esos cabrones). Ya expliqué que mi tarea es que la tecnología me haga caso y soy de los que insulta a un programa cuando no hace lo que yo quiero.

Mi primera automatización con IA local (Ollama).

Con ayuda de la IA, por supuesto, hicimos un programa que:

  • Rastrea todas las imágenes que tengo en un directorio del taller de Talla en Madera (Tallamadera.com) – Más de 5.000 imágenes.
  • La IA, el modelo LLM de interpretación de imágenes, en este caso minicpm-v, hace una descripción de lo que ve.
  • Con otro modelo LLM, mistral-nemo, traduce al castellano la descripción obtenida de minicpm-v.
  • El resultado final va registrándose en una base de datos sqlite. El nombre de la imagen, su ubicación (path), y la descripción obtenida.
Base de datos sqlite

Todo esto se hace en mi ordenador, de forma local y privada, y no es necesario ni que tenga conexión a internet para este proceso.

¿Para qué?: Ahora puedo preguntarle (yo, o la IA) a la base de datos: dame una imagen relacionada con … o que aparezca … . Sin tener que mirar imágenes, puedo obtener imágenes de procesos, del taller, geométricas, florales, con virutas, con herramientas, en la que aparezca tal o cual cosa… ¡Eh! ¡Sin mirar imágenes!

No es un proceso rápido y además, como no tengo una máquina de 2000€, el ordenador se amorra (se queda inservible) mientras está haciendo todo ese proceso. Pero no es problema, puede hacerlo mientras duermo o mientras estoy con mi hija. Al final lo que importa es que se está generando nueva información (descripción de imágenes) de forma completamente automática. Una información que me será útil más adelante, cuando requiera usar esas imágenes para las siguientes automatizaciones.

Segunda automatización: publicación de imágenes en redes sociales (N8N, Ollama, Openrouter y Postiz).

Me crie en la era analógica. No hay nada que me dé más pereza que las redes sociales, sin olvidar que, el beneficio principal se lo lleva Facebook, Instagram, Linkedin o Tiktok. Si el servicio es gratis, el producto eres tú.

Pero sí, las redes sociales se han convertido en uno de los escaparates más sencillos de utilizar, de forma totalmente gratuita, en el que puedes dar a conocer al mundo qué haces, qué servicios ofreces o qué productos vendes. He realizado unos cuantos Planes de Marketing para mis clientes. Pero a mí me aburre y me da mucha pereza usarlas, a sabiendas de que para mis actividades, como la de Profesor de Iniciación a la Talla en Madera, también pueden ser beneficiosas.

Tenía que cubrir esa necesidad y ¡lo he conseguido!

No ha sido nada fácil, me he pegado muchos tortazos (típico de un autodidacta), pero al final ¡funcionó! y ¿Cómo funciona?

Infraestructura:

Mi ordenador y un servidor vps de 5€ al mes en el que tengo otros servicios (Plausible, UptimeKuma, OnlyOffice y otros). Es decir, que el «mayordomo» que se encarga de hacer publicaciones en redes por mí me cuesta muy muy baratito, un coste ridículo. Es mi oficio: optimización de costes gracias al opensource.

Software:

  • En mi ordenador:
    • N8N: software para la creación de automatizaciones a través de nodos y workflows. No entraré en detalles, solo decir que facilita la vida enormemente. Hacer lo que hace N8N mediante programación sería infinitamente más costoso.
    • sqlite: la base de datos con las descripciones de las imágenes
    • las imágenes, por supuesto.
    • Ollama, la IA local.
  • En el servidor VPS:
    • Postiz: software para la gestión de publicaciones en redes sociales.
  • Servicios API:
    • Openrouter: ofrece una api (conexión a servicios) con el que puedes utilizar IA de forma gratuita. También de pago, pero por el momento con los LLM (modelos de lenguaje de IA) gratis ya me es más que suficiente.

Como ya dije, está todo «dockerizado». Permite que el software funcione de forma independiente, de forma aislada, sin interferir con el sistema. Tiene muchas ventajas: aislamiento y portabilidad son las principales.

El proceso, o «Workflow»:

workflow n8n

De esto se encarga N8N.

  1. Trigger, o disparador: cada día a una hora determinada se inicia el proceso.
  2. Base de datos: Se obtiene un registro de la base de datos, que devuelve: nombre imagen, ubicación y la descripción que se hizo en la automatización anterior.
  3. Generación de texto para redes sociales con IA. Le paso la descripción de la imagen a la IA para que genere un texto chulo para las redes sociales. Esto lo hago con Openrouter, pero como es un servicio externo, en caso de que falle se lo paso a Ollama (IA local) para que haga lo mismo.
  4. Nodo imagen N8N: obtengo la imagen del disco y la modifico para redes sociales, redimensiona, recorta y le pone el texto encima para los stories de Instagram. ¡Olé!
  5. Envío imagen a Postiz.
  6. Envío a Postiz la orden de crear una publicación (story de IG en este caso) en modo borrador (draft). Prefiero repasar antes de publicar.

No es ninguna virguería, más bien es algo sencillito, pero me resuelve y sobre todo me ahorra un montón de tiempo, por no decir que hace una tarea que a mí no me gusta nada hacer. No es baladí.

Una completa automatización de publicación en redes sociales en la que yo no tengo que hacer nada más que repasar. Sube las imágenes y genera los textos, todo de forma completamente autónoma.

Como digo, puede que no sea lo más de lo más en automatizaciones, pero a mí me sirve ¡y mucho!

Pero lo más importante no es el ahorro de tiempo y realización de tarea desagradable (para mí) de publicaciones en redes sociales.

Lo más importante es todo el aprendizaje que me he llevado por el camino.

Si has llegado hasta aquí, gracias por haberme leído.

Más adelante, y de manera muchísimo más escueta, explicaré cómo recojo notas de voz en mi teléfono y automáticamente son transcritas con Whisper y almacenadas en mi segundo cerebro, Obsidian.

¡Hasta la próxima!

Jordán, Consultor y Formador TIC OpenSource