Categoría: Programacion
Instalar N8N y Ollama en Docker para tener tu propio Agente AI
El título ya es complicado, pero les juro que lo que sigue... bueno, es también complicado 😁
Nah, vamos a tratar de explicarlo. N8N es un software que te permite crear "Agentes de AI" en tu propio entorno. Si bien nadie define bien qué es un agente está muy bueno para experimentar con workflows que combinen herramientas que tenemos. Lo bueno es que es conectar cajitas con cajitas, bien visual, sin necesidad de código fuente. Eso lo hace muy "APB" al mismo tiempo que tiene sus obvias contras.
Aclaro: N8N es propietario, así que para uso profesional mejor apuntar a la versión paga, pero para aprender es ideal instalarlo en local. ¿Pagaría por esto? Pues no, pero ya me han consultado por este soft y quería verlo más de cerca, especialmente la versión "community" cuasi-gratis.
Ejemplo de qué hace: lee del RSS del blog donde publiqué una nota, la toma del browser, se la pasa a ChatGPT para que haga un resumen, la postea en Facebook y te envía un email para avisarte. Todo eso en un simple click o automatizado. ¿Suena imposible? No, es exactamente para lo que se inventó.
Ahora bien ¿Y si queremos tener todo local? Por eso entra la parte de Ollama, les sigo explicando...
Reparar mysql en XAMPP
Este es un problema que tengo cada tanto en mi PC personal, por diversas razones uso Windows en mi equipo principal y eso implica que pierdo varios de los beneficios de Linux. Si, sé que tenemos WSL, pero no siempre es útil para mi forma de trabajar, por ende para tener un LAMP termino en XAMPP.
La versión de MySQL/MariaDB de Windows es una mierda y muy seguido corrompe los archivos, no es raro que de un día para el otro aquello que andaba perfectamente bien, no funcione más. Así que aquí una solución que me costó encontrar.
Programando con AI: llevando el prompt al extremo para que haga bien las cosas
Les cuento, la semana pasada estuve reprogramando todo el sistema de la Ruleta Rusa, la idea es que prácticamente ustedes ni se den cuenta de todo lo que hice, que sea "smooth" el cambio, y lo hice.
Pero para hacerlo estaba intentando con mi fabuloso systemprompt como base y algo andaba mal, yo me ayudo en Copilot en Visual Studio Code y no daba pie con bola, siempre se deliraba (Claude 4 Sonnet), así que estuve toda una semana experimentando con mi mega pedido y no pude lograr un sistema funcional.
Hasta que me cansé y le pedí a... Claude! justamente que me indicara cómo era mejor pedirle lo que yo necesitaba...
Copilot Instructions, cómo decirle a una AI que programe como vos querés
Esto funciona para casi todos los modelos y editores, es tan sólo aprovechar una de las ventajas de todo LLM que es el "System prompt". Básicamente las instrucciones previas.
A la hora de desarrollar estoy utilizando VS Code con Copilot, pero si utilizan Cursor o cualquier otro IDE combinado con cualquier otro modelo en modo Agente, esto les va a servir muchísimo (dejo ejemplo práctico para que copypasteen).
Cómo programar una AI para tu sitio en PHP
Sabía que era fácil, pero no tanto, así que me puse el sábado a ver cómo hacerlo y me llevó apenas media hora: Conectar La Comunidad con un usuario AI.
Es como que es una idea que ya conocía hace tiempo, sólo que no la había implementado todavía por vago, pero me puse a hacerlo y no sólo salió bastante rápido, sino que es muy fácil. Se los cuento.
Luego de años le programé el upload de avatares al blog
Si, me tomo mi tiempito 😁, en su momento recuerdo que no lo hice porque era una época de PHP bastante vulnerable en las librerías de imágenes y podías colar cualquier cosa, hoy por hoy está mejor manejado.
Así que el otro día decidí reprogramar todo el sistema de avatares para dejar de depender de Gravatar. ¿Tarde? Siempre es tarde, pero, al mismo tiempo ¿Qué importa? 😋 la idea era divertirme y yo sí que soy un re jodón divirtiéndome.
Programando con una AI en modo Agente
Ninguna empresa de AI sabe definir bien qué es un agente, pero aun así han logrado darle forma a este engendro mutante que es combinar un LLM, el típico chatbot como ChatGPT y otros, con acciones reales fuera de su burbuja.
De esta forma un agente puede "hacer" cosas y la mejor forma de probarlo es programando con un IDE como Visual Studio Code o Cursor que incorporan AI en modo agente. ¿Qué significa? Que la misma AI es la que escribe el código...
La trampa del Full-Stack
¿Saben qué es un programador Full-Stack? Es un empleador ahorrándose dinero.
Nadie le pediría a un albañil que le hiciera, además de las paredes, los planos, la instalación de luz, gas, el techo, pintara todo, son trabajos que asociamos a distintos roles y especializaciones. En sistemas, en cambio, todo van para el mismo personaje: el Full-Stack.
Como su nombre lo indica, tiene todo el stack, pero no todo UN stack, tiene TODOS los stacks de moda, sabe todos los frameworks, se adapta de uno a otro en un instante y el resultado es siempre: software de mierda. Y no, no es su culpa.
Cita de imágenes en el blog
Cómo no anoche me puse a programar (porque siempre tiro algo de código nocturno) una funcionalidad que Danbat y Cattel me pidieron hace ya creo como 10 años o algo así: poder citar una imagen para comentarla.
En posts largos donde dejo como 30 fotos es medio difícil referirse a una en los comentarios, así que querían una forma sencilla. La realidad es que no encontré nada en stackoverflow o similar para hacerlo, así que recurrí al amigo Claudio.
Probando el código generado por distintos modelos de AI
Acababa de leer de un nuevo modelo que permite, supuestamente, mejores resultados que ChatGPT 4o para código y dije "vamos a probarlo", es un modelo abierto, Qwen 2.5, pero en mi PC no hay memoria para usar la versión full, así que opté por una versión "recortada".
El resultado fue patético, no funcionaba ni podía corregirlo 😁🤷, pero vamos, en vez de usar el modelo con 30 billones de parámetros estaba con el de 3 billones, como que era una décima parte, me dije ¿y si le hago la misma pregunta a todos?
Le tiré algo fácil:
"I need a complete script in PHP that loads a JPG, PNG or WebP image and converts it to a dithered two colour degraded picture of the same size"
Porque es algo que ya hago en la versión TXT de mi sitio así que ¿Por qué no? Veamos los resultados...