Ollama: instala tu propio ChatGPT en local

Ollama 2

Vale, no es ChatGPT, pero Ollama es capaz de ejecutar modelos de lenguaje de gran tamaño (LLM) lo suficientemente potentes e interesantes para ser probados en local, por lo que en este artículo verás como instalarlo y configurarlo fácilmente.

Índice

  • Instalación de Ollama
  • Descargando un modelo de lenguaje
  • Ejecutando un modelo
  • Personalizando un modelo con un prompt especifico mediante un Modelfile
Sigue leyendo «Ollama: instala tu propio ChatGPT en local»

Desplegar un clúster de JBoss en Kubernetes con alta disponibilidad y descubrimiento de nodos dinámicos

Hace poco en un proyecto que estoy realizando, me encontré con el reto de hacer funcionar un clúster de JBoss dinámico en un entorno Kubernetes, y para obtener una solución viable tuve que realizar diversas configuraciones tanto a nivel de JBoss como de Kubernetes. En esta entrada detallo los pasos y configuraciones a tener en cuenta cuando estamos configurando un clúster dinámico con JGroups en un entorno Kubernetes.

Sigue leyendo «Desplegar un clúster de JBoss en Kubernetes con alta disponibilidad y descubrimiento de nodos dinámicos»

Kubernetes CronJobs: Optimizando la limpieza de imágenes con Pod Topology Spread Constraints

Kubernetes CroJob Flow

Por dar una breve introducción: un CronJob en Kubernetes es un recurso gestionado por un controlador que ha sido diseñado para ser ejecutado de manera programada con el fin de realizar, por ejemplo, backups, reportes, etc. El concepto de CronJob en Kubernetes es análogo a una línea o tarea en un crontab de un sistema Linux, es decir, que este se ejecuta de manera regular en una fecha y hora programada.

Para información más detallada, echad un vistazo a la documentación de CronJob de Kubernetes.

Ahora sí, yendo al tema que nos atañe, hoy he tenido una pequeña problemática que he solventado a través de un CronJob e intentaré explicarlo a continuación.

Sigue leyendo «Kubernetes CronJobs: Optimizando la limpieza de imágenes con Pod Topology Spread Constraints»

Contenedores, ¿Qué son? ¿Cómo funcionan?

Mientras escribía la entrada ¿Qué es Kubernetes? ¿Cómo funciona?, hice una pequeña introducción a lo que eran los contenedores o containers, sin embargo, la explicación fue bastante escueta, ya que no era la idea entrar en tal detalle en dicha entrada. Así que vamos a aclarar todo —que no es poco— lo que no quedó claro allí.

De una aplicación a un contenedor

Si analizamos una aplicación web típica que haya sido desarrollada en algún lenguaje o framework popular, podemos encontrar los siguientes componentes:

Sigue leyendo «Contenedores, ¿Qué son? ¿Cómo funcionan?»

Minikube para desplegar un clúster de Kubernetes en local

Minikube Logo

Cómo ya vimos en la entrada anterior, teníamos varias opciones de despliegue de Kubernetes en un entorno de laboratorio y una de estas era Minikube. En esta entrada vamos a realizar la instalación y configuración de Minikube y realizaremos varios despliegues de pruebas.

Instalación de Minikube

Es posible instalar Minikube en Linux, MacOS y Windows; en mi caso lo instalaré en Linux con Debian 12.

Primero nos debemos asegurar de tener instalado VirtualBox, ya que Minikube usará este software de virtualización para levantar los nodos que compondrán nuestro clúster de Kubernetes local. Si no lo tenemos instalado, lo descargaremos desde su web y lo instalaremos siguiendo el procedimiento oficial dependiendo de nuestro sistema operativo.

Una vez instalado VirtualBox, instalaremos Minikube ejecutando los comandos siguientes:

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb
sudo dpkg -i minikube_latest_amd64.deb

El proceso de instalación es realmente simple y no es mucho más que lo indicado. Si en tu caso estás usando otro sistema operativo diferente y otra distribución, la página de instalación de Minikube te dará los comandos necesarios para la instalación.

Sigue leyendo «Minikube para desplegar un clúster de Kubernetes en local»