TL;DR (Resumen ejecutivo): Docker Model Runner (incluido desde Docker Desktop 4.40) permite descargar y ejecutar modelos LLM locales (como Llama 3.2) directamente desde la terminal con
docker model run, exponiendo una API compatible con OpenAI enhttp://localhost:12434/engines/v1lista para conectarse con LangChain en menos de 10 minutos y sin configurar entornos complejos.
Si alguna vez te has sentido saturado por lo complicado que parece instalar y ejecutar modelos(LLM) en tu equipo, no estás solo. Muchos desarrolladores, estudiantes o curiosos de la IA se enfrentan a las mismas dificultades: configuraciones técnicas difíciles, dependencias que fallan y la necesidad de hardware costoso. Todo eso hace que correr un modelo en tu propio ordenador parezca misión imposible.
¿Qué pasaría si pudieras tener un modelo de lenguaje (LLM) respondiéndote desde tu terminal en menos de 10 minutos, sin necesidad de configuraciones raras ni código complejo? Podrías crear prototipos, entrenar tus habilidades, o desarrollar una app basada en IA sin depender de la nube, ni pagar por servidores externos. Todo corriendo en tu propia máquina, incluso si no tienes una GPU tope de gama.
¿Qué es Docker Model Runner?
Docker ha lanzado una nueva funcionalidad llamada Model Runner, disponible desde Docker Desktop 4.40, que simplifica totalmente el proceso de ejecutar modelos LLM localmente. Ya no necesitas saber cómo instalar Python, configurar entornos virtuales o descargar modelos de forma manual. Docker se encarga de todo.
Puedes instalar cientos de modelos fácilmente desde Docker Hub. Puedes interactuar con ellos desde la terminal, como si hablaras con ChatGPT, pero sin que tu conversación salga de tu dispositivo reforzando así la privacidad.
¿Cómo funciona?
- Instala Docker Desktop desde docker.com.
- Activa Model Runner desde la configuración: ve a Settings > Features in development y marca la casilla correspondiente. Activa también "Enable host-side TCP support" con el puerto 12434.
- Reinicia Docker.
Eso es todo para preparar el entorno. Ahora, abre una terminal y escribe:
docker model pull ai/llama3.2:3B-Q4_K_MYa tienes el modelo descargado.
Para interactuar con él:
docker model run ai/llama3.2:3B-Q4_K_M "¿Qué es Docker?"¿Prefieres una conversación más fluida? Solo ejecuta:
docker model run ai/llama3.2:3B-Q4_K_MCómo usar Docker Model Runner con LangChain
LangChain nos permite utilizar el Chat de OpenAI modificando la base_url para así atacar a nuestro modelo en local y poder utilizar cualquier llm desde local. Para ello debemos asegurarnos de tener el modelo corriendo en docker y podremos ejecutar el siguiente código:
!pip install langchain_openai
from langchain_openai import ChatOpenAI
import pprint
llm = ChatOpenAI(
model="ai/llama3.2:3B-Q4_K_M",
base_url="http://127.0.0.1:12434/engines/v1",
api_key="ignored"
)Ya tienes el modelo listo para usar. Ahora podremos realizar llamadas a este llm:
from langchain_core.messages import AIMessage
messages = [
(
"system",
"You are a helpful assistant.",
),
("human", "Generate a professional AI LLM project structure"),
]
ai_msg = llm.invoke(messages)
pprint.pp(ai_msg.content)¿Y qué obtienes con todo esto?
La capacidad de probar y experimentar con LLM sin necesidad de depender de servidores externos, pagar por APIs o estudiar arquitectura de redes neuronales. En minutos, y sin conocimientos técnicos profundos.
Esta es una forma fácil y rápida si quieres usar LLM en local para realizar pruebas o tener una mayor privacidad sin tener que pagar por ello. Además esto acerca el uso de LLMs a más dispositivos y a usuarios principiantes.
Preguntas frecuentes sobre Docker Model Runner (FAQ)
¿Qué versión de Docker necesito para usar Docker Model Runner?
Necesitas Docker Desktop 4.40 o superior. Se activa desde Settings > Features in development marcando Docker Model Runner y habilitando el soporte TCP en el host (Enable host-side TCP support, por defecto en el puerto 12434).
¿Cómo conecto Docker Model Runner con LangChain o el SDK de OpenAI?
Docker Model Runner expone un servidor compatible con la especificación de OpenAI en http://localhost:12434/engines/v1. Basta con instanciar ChatOpenAI en langchain_openai apuntando base_url a esa dirección y pasando cualquier valor en api_key (por ejemplo, "docker").
¿Los modelos de Docker Model Runner corren dentro de un contenedor normal?
A diferencia de un contenedor tradicional aislado, Docker Model Runner ejecuta el motor de inferencia (llama.cpp) directamente sobre el host para aprovechar la aceleración por hardware (GPU/Metal/CUDA) sin penalización de virtualización, manteniendo la gestión de imágenes OCI desde Docker CLI.
