Blog de José R Sosa

Opciones de acceso gratuito a APIs de LLMs

GenAI
HomeLab

En el desarrollo de aplicaciones basadas en IA así como en su uso diario, o en el el proceso de pruebas de nuevas funcionalidades y modelos es muy importe contar con un acceso a modelos LLM de forma gratuita, Varias empresas ofrecen capas gratuitas de sus servicios de APIs, que se han convertido en una gran ayuda para los desarrolladores y quienes estamos aprendiendo todos los días sobre esta tecnología.

Inspección y testing de servicios MCP

GenAI
Gentic AI
MCP

MCP Inspector es una herramienta escencial en el desarrollo de servicios MCP, permite probar sus diferentes componentes y evaluar sus funcionamiento.

LangFlow, motor de desarrollo de workflows inteligentes contenerizado en Docker

Docker
GenAI

langFlow es una herramineta opensource para el desarrollo low-code de flujos de trabajo de IA Generatica. Mostraré una guía de como levantar el servicio de LangFlow en Docker.

Integrando Whisper en n8n

n8n
STT
Whisper

Cómo integrar Whisper en n8n para automatizar la transcripción de audio dentro de flujos de trabajo. Veremos varios mecanismos prácticos para lograr esto y algunas consideraciones clave para el reconocimiento de voz en procesos reales.

LightRAG, mejorando los resultados del RAG con en Docker

Docker
GenAI
RAG
HomeLab

LightRAG: Generación Aumentada de Recuperación (RAG) simple y rápida, mediante un mecanismo de búsqueda hibrida que combina la búsqueda semántica basada en embeddings, una base de datos de vectores y la búsqueda por palabras clave.

Repositorios de proyectos de IA

Python
GenAI
Agentic AI
Git

Recopilacion de diferentes repositorios de proyectos en Github sobre Inteligencia Artificial que iré completando y actualizando con el tiempo.

Uso de GenIA para el desarrollo SQL

SQL
GenAI

EL uso de herramientas de generación de código basadas en IA Generativa permiten obtener rendimientos en el desarrollo de bases de datos relacionales.

Neo4J en docker

NoSQL
Neo4J
Docker
HomeLab

"Cómo desplegar Neo4j localmente con Docker en modo desarrollo y con Docker Compose."

MCP Server de n8n

Python
n8n
Ollama
GenAI
Agentic AI
MCP
HomeLab

"El servicio MCP e n8n nos permite utilizar este importante motor low-code de workflows de IA desde agentes autónomos inteligentes, aun cuando tenemos instalado el n8n localmente. Esta herramienta es esencial para el desarrollo de workflows con agentes de codificación como Claude-Code.".

Agente básico MCP con Ollama

Python
Ollama
GenAI
Agentic AI
MCP
HomeLab

"Veremos una forma sencilla de habilitar un afgente con un servicio MCP y modelos LLM locales con Ollama".

Macro de LLMs locales en LibreOffice

Python
GenAI
Ofimática
HomeLab

Veamos como crear una macro en LibreOffice Calc que utilice Python (a través de PyUNO) para enviar un prompt a un modelo LLM local en Ollama.

Node.js para desarrollo en Docker

Node.js
Docker
HomeLab

"Preparación del entorno local para desarrollo con node.js en Docker."

Notificación Push con Microsoft Authenticator

MFA

"Veamos como podemos incorporar un doble factor de autenticación (FMA) en nuestras aplicaciones usando Windows Authenticator."

Ngrok con Docker

Ngrok
Docker
HomeLab

"Para exponer puertos desde nuestro equipo local hacia la red externa, podemos ejecutar Ngrok desde cualquier sistema operativo con Docker."

MongoDB en Docker

NoSQL
MongoDB
Docker
HomeLab

Veamos como instalar y ejecutar MongDB en un contenedor con Docker.

n8n en Docker

n8n
Ollama
GenAI
Agentic AI
MCP
HomeLab

Una de las ventajas de n8n es el poder activar un entorno de desarrollo completamente funcional de forma local con Docker para ejecutar workflows en nuestro propio homelab.

Ollama con Docker

Ollama
Docker
GenAI
LLM
HomeLab

En estre post, haré un breve repaso sobre como trabajar con Ollama, y en particular, como ejecutarlo desde un contenedor de [Docker](https://www.docker.com/)

Escritorio Linux Web en Docker

Linux
Docker
HomeLab

"Webtop es un completo escritorio Lnux con interface web basado en Ubuntu, que puede correr en nuestro laboratorio local en un contenedor Docker."

LibreOffice en Docker

Linux
Ofimática
Docker
HomeLab

"Podemos ejecutar la suite completa de LibreOffice en un contenedor Docker y acceder a sus aplicaciones vía web en nuestra red local."

Servicio de transferencia de archivos en Docker

Linux
Ofimática
Docker
HomeLab

Gokapi es una forma sencilla y segura que he encontrado para transferir archivos grandes, habilitando como un servicio de intercambio de archivos auto-hospedado en Docker.

Open-WebUI en Docker

GenAI
RAG
Docker
HomeLab

Veamos como integrar Open Web UI en nuestro laboratorio local. Esta es un herramienta ideal para poner a prueba modelos LLM pequeños que podamos correr en nuestro equipo mediante Ollama o para implementar un RAG con nuestros propios archivos.

Gestión de volúmenes de Docker

Docker

Una de las operaciones más comunes cuando trabajamos con contenedores que usan sus propios volumenes es la de copiar informacion que tenemos en algun directorio local hacia el volumen o realizar el respaldo del volumen en algun directorio local.

Web Search Tools en Docker

n8n
Docker
HomeLab

"Cómo ejecutar SearXNG en docker."

ScaliDraw.io en Docker

Diagram
Docker
HomeLab

Excalidraw es una pizarra virtual de opensource diseñada para crear diagramas y bocetos con una estética de dibujo a mano alzada, y que por supuesto, podemos ejecutar desde una contenedor Docker.

ChromaDB base de datos vectorial en Docker

Python
Data Science
Docker
GenAI
Vector DB
RAG

ChromaDB es una base de datos de vectores, muy utilizada en proyectos personales y pruebas de concepto para experimentar con la búsqueda semántica. Es útil por su facilidad de uso y porque funciona principalmente en memoria. Veamos como activar y usar esta base de datos en un contenedor de Docker.

Creando un Web Chat de GenAI con Gradio

Python
GenAI

Como podemos leer en su web: "Gradio es la forma más rápida de hacer una demostración de su modelo de aprendizaje automático con una interfaz web amigable para que cualquiera pueda usarlo, ¡en cualquier lugar!"

Open Interpreter en local

GenAI

Open Interpreter es una versión opensource del agente interpreter de OpenAI, pero este corre dentro de nuestro equipo, permitiendo que la IA haga uso de nuestros recursos y ejecute tareas y use herramientas de forma local.

Openhands Agente IA de programación en Docker

GenAI
Docker

Openhands en una app de desarrollo de software con Agentes de IA que tienen las mismas herramientas que un desarrollador humano: pueden modificar el código, ejecutar comandos, navegar por la web, llamar a las API, e incluso, copiar fragmentos de código de StackOverflow.

Qdrant, base de datos vectorial en Docker

NoSQL
Qdrant
Vector DB
RAG
Docker
HomeLab

Qdrant es una base de datos vectorial de opensource diseñada para almacenar y buscar información basándose en el significado (similitud semántica) en lugar de palabras clave exactas, mediante la indexación de vectores. Veamos como usarla de forma contenerizada con Docker."

Tutorial de Git

Git

"Git es un sistema de control de versiones que te permite guardar y manejar el historial de cambios en el código de un proyecto. Este es un muy breve tutorial que hice con la ayuda de ChatGPT y que espero se convierta en la base de un cheatsheet."

Postgres en Docker

SQL
Postgres
Docker
HomeLab

Postgres es uno de los manejadores de bases de datos más utilizados en el mundo opensource. Veremos como instalarlo y ejecutarlo en nuestro laboratorio local de forma contenerizada con Docker.

Editor en línea de comandos - Vim

Linux Recipes
Vim

Vin es un editor en línea de comandos presente en casi todos los sistemas operativos y especialmente en las distribuciones de Linux. Además pos su simplicidad es posible ejecutarlo en casi todo tipo de hardware, por lo que es muy útil conocer como funciona.

WordPress con Docker

Linux Recipes
Docker
WordPress
MySQL

WordPress es una de las herramientas de tipo CMS (Content Management system) más utilizados, hoy en día, para la construcción de sitios web. Veremos como podemos habilitar una instalación de esta herramienta en nuestro entorno local, con solo dos comandos (o uno solo...)

Configurando una Raspberry Pi modelo 4

Linux Recipes
Raspberry Pi
Robotics

Veamos cómo configurar nuestra nueva Raspberry Pi modelo 4, con una pequeña SD card de 4 GB y sin perifericos de entrada o salida, para manejarla desde la red local a través de la interfaz web de CockPit. Este es un escenario común cuando utilizamos la Raspberry para el control de dispositivos robóticos o embebida en sistemas de control y monitoreo.

Desplegar una aplicación web local con NGINX y Docker

Linux Recipes
Docker
Nginx

El NGINX es un servidor web muy ligero y eficiente, que en la Ciencia de Datos puede ser muy útil para el despliegue de aplicaciones de IA, compuestas por diferentes componentes dockeriados. Veremos lo simple que puede llegar ser despliegar cualquier aplicación web si utilizamos este servidor dentro de un contenedor docker.

La máquina de Galton, del Caos al Orden...

R
Data Science
Teaching
Simulation
Statistic

La "Maquina de Galton" es el nombre de un famoso experimento, que a pesar de estar completamente gobernado por el azar, muestra claramente como se presenta siempre la misma tendencia o distribución de los resultados.

Datasets para proyectos de Machine Learning

Data Science

Si estas buscado un conjunto de datos "especial" para tu proyecto de Machine Learning, he preparado una lista, que si bien no es exhaustiva, si que sirve como propuesta de por donde comenzar a buscar.

Imágenes de fractales en gran formato con R

R
Chaos and Fractals
Computer Graphics
Data Science

Aproveché unos días de mis vacaciones para preparar algunas gráficas en R, que quería hacer desde hace tiempo para adornar mi estudio. Se trata de fractales y atractores extraños, pero quería hacerlos de forma de poder imprimirlos en formato grande, como afiches.

El arte del movimiento caótico

Chaos and Fractals
Computer Graphics

Un factor común de la mayoría de los fractales, es su poder de atraernos, de casi hipnotizarnos por su particular belleza, tal como si fueran verdaderas obras de arte. Los atractores de Clifford son un ejemplo del arte que puede representar el movimiento de los sistemas caóticos. De hecho, he comenzado preparar varios de estos gráficos en alta resolución, para compartirlos con ustedes y puedan ser impresos como posters si lo desean.

El infinito detalle del conjunto de Mandelbrot

Chaos and Fractals
Computer Graphics
Data Science

La convergencia de los sistemas dinámicos complejos es un problema recurrente en muchos campos, su predictibilidad en algunos casos pudiera estar involucrada con los conceptos de la geometría fractal y la teoría del caos. Escribí una breve reseña sobre uno de los fractales más conocidos vinculados con este tema: el conjunto de Mandelbrot.

Atractor de Lorenz y "el efecto mariposa"

Chaos and Fractals
Computer Graphics
Data Science
Simulation

El aparente desorden o aleatoriedad de los sistemas caóticos, es en realidad orden, tan exacto y matemático como impredecible e inexplicable. Escribí una breve reseña de una historia que vi cuando estudiaba en la universidad, sobre una de las características más interesantes de la teoría del caos: "el efecto mariposa".

Sincronización de directorios con rsync

Linux Recipes
Rsync

Si bien, herramientas de control de versiones y el uso de la nube ayudan a centralizar nuestra información, no todo está en la nube y la sincronización de archivos entre diferentes equipos y ambientes de trabajo puede convertirse en un problema, para eso podemos usar rsync.

Taller interactivo: Programando en R

R
Data Science
Teaching

Aún hoy en día, existe mucho contenido para la formación en Ciencia de Datos y particularmente sobre R en diversos formatos y repositorios, sin embargo, la mayoría de ellos están en ingles...

Edición de videos en línea de comandos con FFmpeg

Linux Recipes
FFmepg

Hace algún tiempo utilicé [FFmpeg](http://www.ffmpeg.org/) para la automatización de la grabación de algunos tutoriales y por eso quedé con la inquietud de crear un breve turtorial con algunas de sus principales funciones.

Vehículo Robot con Lego Technic, Minsdstorm y la Raspberry Pi

Raspberry Pi
Robotics
Lego
Lego Mindstorm
Python

El pequeño tamaño de la Raspberry Pi y su capacidad de procesamiento abre muchas posibilidades para la robótica, dado que ahora podemos incorporar un completo computador en nuestros pequeños robots, dotándolos de la capacidad de procesamiento y comunicaciones que ofrecen los sistemas operativos modernos.

Armando un Media Center con la Raspberry Pi y XBMC

Linux Recipes
Raspberry Pi
Media Center
XBMC

Por su pequeño tamaño y su buena potencia, la Raspeberry Pi es útil para todo tipo de soluciones each computing. Veremos como podemos utilizar nuestra Rasperry Pi para construir nuetra propia Media Center para convertir cualquier televisor en un Smart TV, con muchas funcionalidades similares a la Rocu, el Chrome Cast o el Apple TV.

Primeros pasos con la Raspberry Pi, modelo B

Linux Recipes
Raspberry Pi
Robotics

El Raspberry Pi es uno de los proyectos más importantes, surgidos en los últimos años, que están orientados a promover el aprendizaje de la informática en los niños a muy bajo costo. Consiste en una placa base, que con el precio de 35$, contiene todos los elementos de un completo computador pero con las dimensiones de una tarjeta de crédito.

Alternativas de programación del NXT con Software Libre

Lego Mindstorm
Robotics

Como ya sabemos, una de las principales razones para tener un NXT es su capacidad de procesamiento, y más aún, la posibilidad que tenemos de programarlo. Es este post haré un repaso por las diferentes alternativas que tenemos en el mundo del software libre, para programar nuestros robots.

Wiimote como sensor de posición y movimiento para nuestros robots

Wiimote
Robotics

Partiendo del hecho de que el Wiimote, comando de mano de la consola de juegos Wii, es capaz de seguir hasta 4 fuentes de luz infrarroja y ubicar sus coordenadas, así como con el posicionamiento y orientación gracias que posee un acelerometro bastante preciso, podriamos considerarlo como un potencial instrumento sensor para nuestros robots.

Renombrar particiones en Linux

Linux Recipes
Vim

Desde hace algún tiempo, la mayoría de las distribuciones de GNU/Linux identifican las particiones de nuestro computador por un código UUID de 128 bits, compuesto por 32 caracteres hexa-decimales. El problema es que estos códigos son imposibles, o al menos, muy difíciles de aprender. El proceso de identificar la partición adecuada en donde buscar o guardar un determinado archivo se convierte en un verdadero problema.

Cómo verificar puertos y procesos en Linux

Linux Recipes

Muchas veces necesitamos saber que puertos esta escuchando nuestro servidor para usar el cliente y conectar o bien para configurar nuestro firewall y así permitir las conexiones a dicho servicio o simplemente por información. Veremos como podemos consultar en nuestro sistema GNU/linux cuales puertos están siendo utilizados y que servicios o aplicaciones los están usando.

Controlando nuestros robots con Software Libre en Android

Lego Mindstorm
Robotics

Una de las ventajas de que nuestro NXT posea integrado un dispositivo bluetooth para comunicación inalámbrica es que puede ser controlado desde dispositivos móviles como tabletas ocelulares. Con ellos podemos controlar el movimiento y observar los estímulos registrados por sus diferentes sensores, incluso podemos hacer uso del acelerómetro de nuestro dispositivo móvil para dirigir el robot con nuestro movimiento, al estilo consola de juegos.

Tunneling TCP con SSH, asegurando conexiones a traves de redes inseguras

Linux Recipes
SSH

Vamos a ver como conseguir conexiones TCP/IP seguras aunque tengamos que pasar por una red insegura. En un gran numero de situaciones se nos presenta esta necesitad, como por ejemplo acceder a un equipo sin IP pública que se encuentra detrás de una subred o cuando queremos "entubar" o asegurar una conexión a través de Internet o redes inhalámbricas para pasar algún protocolo o servicio cualquiera de manera segura, como conectarnos a un servidor de correo, o que simplemente queremos navegar, es decir que no necesariamente se requiere un shell remoto.

Cómo ejecutar comandos remotos con SSH

Linux Recipes
SSH

Generalmente estamos acostumbrados a utilizar el comando SSH para ejecutar aplicaciones a través de una shell interactiva, pero también podemos hacer que el cliente de SSH ejecute un comando remoto y nos envíe su salida a la maquina local. En este post muestro este y otros trucos con SSH.

Carro robot controlado desde una netbook escolar

Lego Mindstorm
Robotics

Este proyecto busca controlar nuestro carro robot desde una netbook. El objetivo es experimentar con la movilidad que representa el tener nuestro robot conectado a una pequeña y liviana computadora pero con mayores prestaciones que el NXT, tales como la capacidad de procesamiento, la cámara web y la tarjeta de red WiFi.

Carro robot de proposito general

Lego Mindstorm
Robotics

Con este proyecto busco construir y programar un pequeño carro robot de propósito general que sirva de base para futuros experimentos. La intención es que tenga la suficiente capacidad de movilidad y tracción como para funcionar de manera autónoma en una variedad de terrenos, así como la capacidad de incorporar nuevos sensores que le permitan incorporar la detección de obstáculos, visión artificial, etc.

Brazo Robot Articulado

Lego Mindstorm
Robotics

Este proyecto consiste en construir y programar un Brazo Robot articulado. Este tipo de brazos robots son unos de los más utilizados, en la industria, por su versatilidad. Son capaces de hacer muchos tipos de movimientos por su similitud con el brazo humano.

Robot seguidor de línea (linetracking)

Lego Mindstorm
Robotics

El objetivo de este proyecto es el de construir y programar un robot que oriente su movimiento en función de una línea negra dibujada en el piso. Consiste en un problema típico de control, en el cual nos basamos en las lecturas de un sensor infrarrojo para activar los motores de dirección y de tracción de un pequeño carro robot contruido en Lego y controlado por un bloque RCX 2.0.

Adaptando un nuevo motor al RCX

Lego Mindstorm
Robotics

En el desarrollo de experimentos con en Lego MindStorm, el primer problema que se me presentó fue la necesidad de incorporar más motores. Aquí presento un solución sencilla a este problema: Incorporar un nuevo motor.

Creación de un sensor de ángulo de giro

Lego Mindstorm
Robotics

Después de experimentar bastante con las posibilidades del Lego MindStorm, comienzan a surgir la necesidad de contar no otros sensores y efectores, con los cuales construir nuevos proyectos. Una de estas carencias es la posibilidad de contar con un medidor del ángulo de giro.

Algoritmo de Retropropagación del Error o Back-propagation

Data Science
Teaching
Machine Learning
Neural Networks

Una guía sobre el algoritmo de Retropropagación del Error o Back propagation, utilizado para el entrenamiento de Redes neuronales multicapa. Este es uno de los más importantes algoritmos de entrenamiento supervisado de redes neuronales y a es utilizado para un gran número de aplicaciones.

Cálculo de probabilidades y combinatorias por línea de comandos

Linux Recipes

Mediante la herramienta "bc" es posible contar con un poderosa calculadora desde la línea de comandos en Linux, con la que podemos realizar complejos cálculos de probabilidades. Esta Calculadora nos permite trabajar con precisión infinita en diversas bases, incluso podemos predefinir funciones para el calculo de combinatorias y funciones de probabilidad para las variables aleatorias con nombre propio, y esta es, precisamente, la razón de este post.

Guías y ejercicios prácticos de Probabilidad y Estadística

Teaching
Statistic

Material de apoyo para la materia de probabilidad y estadística de la Escuela de Computación de la UCV, recolectado o escritos por el personal docente de la materia.

Robots hechos con Lego Mindstorms NXT

Lego Mindstorm
Robotics

Hace algún tiempo compre la versión 2 del increíble "Lego Mindstorms". Fue diseñado y desarrollado originalmente entre LEGO y el MIT, como un juguete para motivar a los niños (12 años +/-) a interesarse por la robótica. Sin embargo se ha convertido en los últimos años en un herramienta poderosa para la modelación y prototipado de robots.

Taller de Estadística Descriptiva y Regresión Lineal con R

Teaching
Statistic
Data Science

Este taller de R esta dirigido a estudiantes de la materia de Introducción a la Probabilidad y Estadística de la Escuela de Computación de la UCV. Se resolverán problemas de descripción de una muestra y la inferencia estadística a través de modelos lineales en el entorno de RStudio.

More articles »

Blog de José R Sosa

Corrections

If you see mistakes or want to suggest changes, please create an issue on the source repository.