Cómo ejecutar Ollama con Podman en Fedora Linux

imagem 12

Ollama W Podman 300x127

Ejecutar modelos de lenguaje de gran tamaño (LLMs) localmente se ha vuelto cada vez más popular para desarrollo, privacidad y pruebas sin conexión. Ollama simplifica este proceso al máximo, permitiendo ejecutar modelos como Llama 3 o Mistral directamente en tu máquina.

Aprovechando Podman en Fedora Linux, puedes aislar Ollama dentro de un contenedor. Este enfoque mantiene limpio tu sistema anfitrión mientras facilita levantar, gestionar y eliminar tu entorno de desarrollo de IA sin complicaciones.

¿Qué es Ollama?

Ollama es un marco de trabajo de código abierto diseñado para ejecutar, crear y compartir modelos de lenguaje de gran tamaño. Empaqueta los pesos del modelo, la configuración y los datos en un sistema de gestión unificado. Ejecutarlo dentro de un contenedor significa que no tendrás que lidiar con dependencias locales complejas, entornos de Python o configuraciones complicadas de controladores de GPU en tu sistema operativo base.

Verificar o instalar Podman

Podman está disponible de forma predeterminada en Fedora Workstation. Si por algún motivo no lo tienes, puedes instalarlo fácilmente con DNF:

$ sudo dnf install podman -y

Para los usuarios de Fedora Linux Silverblue, Podman está preinstalado de forma nativa en el sistema base inmutable, así que no se requieren pasos adicionales.

Para verificar la instalación y asegurarte de que todo funcione correctamente, ejecuta una comprobación rápida:

$ podman --version

Paso 1: Crear un volumen persistente para tus modelos

Los pesos de los LLM pueden ser enormes: a menudo ocupan entre 4 GB y más de 40 GB, según el tamaño del modelo. Para evitar tener que descargar estos modelos cada vez que reinicies el contenedor, crea un volumen persistente de Podman para almacenarlos de forma segura en tu disco anfitrión:

$ podman volume create ollama_storage

Paso 2: Ejecutar el contenedor de Ollama

A continuación, levanta el contenedor de Ollama. El siguiente comando descarga la imagen oficial, conecta el volumen que acabamos de crear y mapea el puerto de comunicación (

11434

) a tu máquina anfitriona.

$ podman run -d \
  -v ollama_storage:/root/.ollama \
  -p 11434:11434 \
  --name ollama \
  ollama/ollama

Nota sobre la aceleración por hardware

El comando anterior ejecuta Ollama utilizando únicamente la CPU. Si estás en Fedora Workstation o Silverblue y quieres aprovechar una GPU Nvidia para una aceleración por hardware más rápida, asegúrate de tener instalado el Nvidia Container Toolkit y añade la siguiente bandera:

--device nvidia.com/gpu=all

Paso 3: Descargar y ejecutar un modelo de IA

Con el contenedor ejecutándose en segundo plano, puedes interactuar con él usando el comando de ejecución de Podman. Vamos a descargar y ejecutar Llama 3, un modelo ligero de gran capacidad, perfecto para el desarrollo local:

$ podman exec -it ollama ollama run llama3

La primera vez que ejecutes esto, Podman descargará los pesos del modelo en tu volumen

ollama_storage

. Una vez completada la descarga, accederás directamente a una terminal interactiva:

>>> Send a message (/? for help)
>>> Tell me a fun fact about Fedora Linux.
Fedora Linux is named after the iconic felt hat worn by the Red Hat shadowman logo! It started as a community project to provide extra packages for Red Hat Linux.
>>>
To exit the interactive prompt, simply type /exit.

Paso 4: Interactuar con la API local

Como hemos mapeado el puerto 11434 a nuestro sistema anfitrión, también puedes interactuar con tu instancia local de Ollama a través de su API REST integrada. Abre una ventana de terminal normal y envía una petición con curl:

curl http://localhost:11434/api/generate -d '{
  "model": "llama3",
  "prompt": "Why use containers?",
  "stream": false
}'

Esto devuelve una carga JSON estructurada con la respuesta, lo que te permite conectar fácilmente tu modelo local a aplicaciones web, scripts o extensiones de IDE.

Verificar el estado del contenedor

Para monitorear tu instancia local de IA en ejecución, usa los comandos clásicos de gestión de Podman. Por ejemplo, empieza con:

$ podman ps

También puedes inspeccionar los registros para asegurarte de que el servidor de la API esté escuchando correctamente:

$ podman logs ollama

Cuando termines tu sesión de desarrollo y quieras liberar memoria del sistema, detén el contenedor:

$ podman stop ollama

Si alguna vez necesitas eliminar por completo el entorno del contenedor, utiliza:

$ podman rm ollama

Nota: Tus modelos descargados están completamente seguros dentro del volumen ollama_storage y se volverán a conectar instantáneamente la próxima vez que levantes el contenedor.

Conclusión

Usar Podman para gestionar Ollama en Fedora Linux o Fedora Silverblue ofrece una forma limpia y contenida de crear y probar aplicaciones con LLMs completamente sin conexión. Evita la contaminación del entorno anfitrión, aísla de forma ordenada el almacenamiento de modelos grandes en un volumen con nombre y trata tu pila de IA exactamente como cualquier otro microservicio.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *