Portátiles SLIMBOOK
Entradas Mensuales
Síguenos en:
Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon Docker Model Runner: ejecución sencilla de modelos generativos locales LLM


Docker ha lanzado hace muy poco una nueva herramienta que promete simplificar y optimizar el trabajo con modelos de inteligencia artificial generativa en entornos locales: Docker Model Runner. Si trabajas con Docker y te interesan los grandes modelos de lenguaje, esta nueva característica podría transformar tu flujo de trabajo de manera importante.





Docker Model Runner permite ejecutar modelos de inteligencia artificial directamente desde la línea de comandos, sin necesidad de empaquetarlos en imágenes de contenedor (algo que siempre ha sido complicado y ha dado problemas). La idea es que puedas descargar y ejecutar los modelos en tu hardware local, pero usando Docker como "motor" para no tener que instalar nada y poder usarlo como el resto de infraestructura de desarrollo que estés utilizando.

  • Compatible con Model Context Protocol (MCP)

Con esta estrategia, nos ahorramos tiempo y recursos, pero también tenemos una experiencia de desarrollo más fluida para trabajar con modelos en local.

Te cuento rápidamente todos los detalles sobre cómo funciona, sus características, limitaciones, requisitos, y precios.

¿Cómo funciona Docker Model Runner?

Esta característica viene de serie con Docker Desktop a partir de su versión 4.40 (en el momento de escribir esto está todavía en "beta" pero es bastante fiable).

Docker Model Runner ofrece una interacción directa con los modelos de lenguaje usando APIs compatibles con OpenAI, aparte de darnos una interfaz básica para poder probarlos desde la línea de comandos.





Los modelos se descargan desde Docker Hub y se almacenan localmente (o sea, no están dentro de un contenedor) para un acceso más rápido en futuras ejecuciones, para lo cual utilizamos los comandos de Docker que ya conoces (pull, run, rm...), pero con la instrucción model delante, o sea: docker model pull, docker model run o docker model rm .


Usage:  docker model COMMAND

Commands:
  list        List models available locally
  pull        Download a model from Docker Hub
  rm          Remove a downloaded model
  run         Run a model interactively or with a prompt
  status      Check if the model runner is running
  version     Show the current version

En concreto, los comandos soportados son:

  • list: listar los modelos disponibles localmente.
  • pull: descargar un modelo de Docker Hub.
  • rm: eliminar un modelo descargado.
  • run: ejecutar un modelo de forma interactiva o con un aviso.
  • status: comprobar si el ejecutor del modelo está en funcionamiento.
  • version: mostrar la versión actual.

Los modelos que tengas en local se cargan en memoria solo cuando se necesitan y se libera la memoria cuando dejes de usarlos, optimizando así el uso de los recursos de tu ordenador. Además, cuenta con soporte para aceleración por GPU, lógicamente, lo que reduce la latencia y mejora el rendimiento.

Para entendernos: es como ejecutar Ollama, pero más sencillo y con mayor facilidad de gestión.

Soporta una buena selección de modelos de código abierto o de "pesos abiertos", como: Llama de Meta, Phi de Microsoft, Mistral, DeepSeek, Gemma de Google o Qwen entre otros. Puedes consultar aquí la lista completa de modelos soportados por Docker Model Runner.


  • Gemma 3 from Google, which is based on Gemini 2.0
  • Llama 3.2 from Meta
  • DeepSeek R1 Distill Llama, which is not exactly the DeepSeek model; it’s a Llama trained on DeepSeek-R1 inputs/outputs
  • Phi4 from Microsoft





  • Por ejemplo, puedes descargar el modelo Phi4 de Microsoft escribiendo:

    docker model pull ai/phi4
    

    que lo deja en disco para su uso posterior cuando lo necesites.

    Si ahora lo quieres ejecutar, simplemente ejecuta el comando run:

    docker model run ai/phi4
    

    Por defecto al ejecutarlo se lanza en forma de chat interactivo, es decir, podrás empezar a intercambiar mensajes con el modelo desde la línea de comandos como si fuese una interfaz de chat normal. Para terminar y volver a la terminal escribe el comando /bye.

    Pero también puedes obtener una respuesta inmediata a una entrada que le pases como argumento al comando. Por ejemplo:

    docker model run ai/phi4 "Hola, ¿qué tal estás?"
    

    a lo que el modelo te devolverá una respuesta directamente en la línea de comandos.

    Lo mas interesante, de todos modos, es que al ejecutar un modelo tenemos desde Docker una API compatible con OpenAI con una serie de endpoints a los que podemos llamar para interactuar con nuestro modelo desde una aplicación propia.

    La dirección por defecto de esta API es http://model-runner.docker.internal/engines/llama.cpp/v1/ y, como digo, es compatible con la API de Open AI, de modo que podemos acceder a los recursos chat/completions, completions y embeddigns para trabajar con el modelo que corresponda, aunque no sea (y no será normalmente) un modelo de Open AI.

    Es así de sencillo.

    Lo interesante es que Docker está ejecutando estos modelos fuera del contenedor, usando el hardware local directamente, algo que puede sorprender de entrada pero que es precisamente la gracia que tiene.

    Es similar a Ollama, pero en este caso, llama.cpp está envuelto en la API de Docker e integrado con las herramientas de Docker. Esto facilita muchísimo el proceso, ya que ejecutar modelos de IA dentro de contenedores puede ser muy complicado.

    Lo que conseguimos es integrar estos modelos fuera de contenedores pero dentro del ecosistema de Docker, lo que facilita gestionarlos como el resto de los elementos de trabajo que utilicemos, con esa filosofía de de "infraestructura versionada" que nos permite tener Docker. Es un gran avance.

    Te dejo un enlace a la documentación oficial de Docker Model Run y también a un repositorio de ejemplo que han creado con la misma aplicación de chat, que trabaja contra la API que acabamos de ver, creada con Go, Node.js y Python, para que puedas probarlo y aprender.

    Limitaciones y uso gratuito de Docker Model Runner

    Actualmente, Docker Model Runner solo está disponible para macOS con Apple Silicon (M1/M2/M3/M4), aunque se espera soporte para Windows con GPUs NVIDIA a finales de este mismo mes de abril de 2025.

    Hay que tener en cuenta además que, como con cualquier utilidad de este tipo, los modelos pueden llegar a ser grandes, lo que puede resultar en tiempos de descarga iniciales largos. Además, de momento no incorpora de serie ninguna salvaguarda para cuando cargamos un modelo más grande que el que nuestro hardware puede soportar, pudiendo producirse algún error que tire todo abajo. Pero lo irán perfeccionando: al fin y al cabo estamos todavía con una beta.

    Docker Model Runner es una característica incluida en Docker Desktop, por lo que no tiene un coste adicional más allá de la suscripción a Docker Desktop que necesites. Como seguramente sabes, puedes usar Docker gratuitamente para uso personal y en empresas pequeñas, pero si tu empresa es grande (tiene más de 250 empleados o factura más de 10 millones de dólares) es necesario pagar una licencia. Esto ahora lo tienen un poco escondido por ahí, pero sigue siendo válido.

    En resumen

    Aunque acaba de salir y está todavía en "beta", el futuro del Docker Model Runner parece prometedor porque es una herramienta muy interesante que facilita mucho la vida si vas a incorporar modelos locales a tu flujo de desarrollo. Con el soporte para Windows en camino y la posibilidad de integrar más modelos y características, esta herramienta podría convertirse en un "estándar" para el desarrollo de aplicaciones de inteligencia artificial, casi tanto como ya lo es Docker para cualquier tipo de desarrollo. Además, Docker planea mejorar la integración con otras herramientas y plataformas, lo que facilitará aún más el trabajo de los desarrolladores.


    Fuentes:
    https://www.campusmvp.es/recursos/post/docker-ejecucion-sencilla-de-modelos-generativos-locales.aspx


    0 comentarios :

    Publicar un comentario

    Los comentarios pueden ser revisados en cualquier momento por los moderadores.

    Serán publicados aquellos que cumplan las siguientes condiciones:
    - Comentario acorde al contenido del post.
    - Prohibido mensajes de tipo SPAM.
    - Evite incluir links innecesarios en su comentario.
    - Contenidos ofensivos, amenazas e insultos no serán permitidos.

    Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.